2021.09.30
Developer Lv2
PHPのPDOで、WHERE句の条件を動的に変更する場合があります。 例えば、以下のプログラムでは、 年齢(age)がフォーム内で入力されているときのみ、 DB内のage列と照合して、両者の値が同じ行だけを抽出します。 しかし、年齢(age)が入力されていない場合、全件出力しています。 このような動 …More Read
2021.09.30
Developer Lv2
PDOの中で、IN演算子を使う場合は、 典型的にはINに入る個数がいくつか不明の場合を想定します。 フォームでいえば、チェックボックスでチェックされているものが典型です。 そのため、プレースホルダーは、"(?,?,?)"のように、 複数個必要で、かつ個数不明のため動的に生成します …More Read
2021.09.30
Developer Lv2
PDOのWHERE句で、LIKEを使う場合を紹介します。 (参考: SQLのLIKE自体の解説) LIKE演算子を使うには、ワイルドカードの"%"が必要ですが、 PHPのPDO内でこのワイルドカードを使うためには、ひと工夫必要です。 "%"とプレースホルダーの …More Read
2021.08.31
Developer Lv1
ユーザー名、パスワード、メールアドレスを入力する 架空の会員登録フォームを例に、 プリペアードステートメントの実行を実演します。 このサンプルコードでは、$_POST[“キー”]という形式で、 リクエストのデータを受け取っていますが、 実際には適切な入力チェックを行ってくださ …More Read
2021.08.31
Developer Lv2
プリペアードステートメントの、INSERT文のコードの 書き方を紹介します。 処理の流れは以下の通りです。 1.prepareメソッドでsqlを作成し、 2.プレースホルダにbindValue,bindParamで変数をセット 3.executeで実行 ※最後にexecuteされて初めてSQLは実行 …More Read
2021.08.31
Developer Lv2
プリペアードステートメントとは 一度クエリを準備した状態(プリペアードステートメント)にしてから実行することです。 「SQLの実行=SQL文の構文解析+構文の解釈」です。 プリペアードステートメントは、構文解析をDBMS側で先に済ませ、 そこにパラメータを当てはめて繰り返し使うことで、処理効率を高め …More Read
2021.07.31
Developer Lv2
この記事では、抽象クラスと抽象メソッドを解説し、 両者の構文を例示します。 1.抽象クラスは「abstract」キーワードを使って定義する。 2.抽象メソッドを含むクラスは抽象クラスにする必要がある。 3.抽象クラスを継承する具象クラスは、抽象メソッドを実装する必要がある。 抽象クラス・抽象メソッド …More Read
2021.07.31
Developer Lv2
例外は、処理内で予期せぬ動きが起きた時 (または明示的)に生成されるオブジェクトです。 例外の型(クラス)は複数あります。 全ての親となる「基底クラス」がExceptionクラスです。 エラーと例外は別物です。 (Throwableインターフェースをどちらも実装していますが、クラスとしては継承関係に …More Read
2021.07.31
Developer Lv2
1.インターフェースは「interface」キーワードを使って定義する。 2.インターフェースは実装を含むメソッドは定義できない。定数は定義できる。 3.インターフェースは多重実装が可能。 インターフェースとは インターフェースは実装しなければいけないメソッドを定義するものです。 クラスはインターフ …More Read
2021.06.30
Developer Lv2
ウェブアプリケーションでは、場合によって、 日本語だけでなく、英語など多言語に対応する必要があります。 CakePHPでは多言語対応の仕組みとして、i18nがあります。 イメージ的には、特定の箇所の文字列を、言語ごとに作成された翻訳ファイルから読み込む形です。 POTファイルの作成(翻訳ファイルのテ …More Read