バリデーション リクエストデータがエンティティにコンバートされる前に、データ型や書式のルールが適用される。 newEntity($this->request->getData()); if ($article->errors()) { // エンティティー検証失敗。 } ?> エンティティ構築時のバリデーションの…
FileCache ローカルファイルを使用するキャッシュ。tmp/cache配下にキャッシュファイルを作成し、そこにデータを保存する。 クエリ結果をキャッシュする cacheメソッドでクエリ結果をキャッシュする。第一引数にキャッシュキーを渡す。 cache('recent_articl…
関連データの取得 containメソッド containで関連データをeagar loadして取得する。 find('all')->contain(['Authors', 'Comments']); ?> ネストされた関連データを取得するときはドット記法を用いる。 find()->contain([ 'Authors.Addresses', 'Comments.Au…
クエリの生成 findメソッド findメソッドでクエリを生成。 find('all'); // この時点ではクエリーは走らない。 $results = $query->all(); // all() の呼び出しはクエリーを実行し、結果セットを返す foreach ($query as $row) {...} // イテレーションはク…
テーブルとエンティティ テーブル データのコレクションにアクセスする。新しいレコードを保存したり、 既存データの編集/削除、リレーションの定義、そして一括処理ができる。 エンティティ レコードレベルの振る舞いや機能の定義を行う。 エンティティの生…
テーブルとエンティティ テーブル データのコレクションにアクセスする。新しいレコードを保存したり、 既存データの編集/削除、リレーションの定義、そして一括処理ができる。 エンティティ レコードレベルの振る舞いや機能の定義を行う。 テーブルオブジェ…
コンポーネントの読み込みと設定 initializeメソッド内でloadComponentを使用する。 loadComponent('Auth', ['authorize' => 'Controller']); $this->loadComponent('Cookie', ['expires' => '1 day']); } } ?> あるいは、configによって実行時に…
ヘルパーファイルの作成 src/View/Helper内にヘルパーファイルを作成し、メソッドを定義する。 AppView.phpの記述 src/View/AppView.phpのinitializeメソッド内でヘルパーを読み込む。
ビューのメソッド set('color', 'pink'); // ビューのヘルパーやテーマをカスタマイズする $this->viewBuilder() ->setLayout('admin') ->helpers(['MyCustom']) ->theme('Modern') ->className('Modern.Admin'); // ビューファイルのレンダリング $this->re…
$this->requestにリクエストオブジェクトが設定される。 ルーティングパラメータを取得 getParamでルーティングパラメータを取得。 request->getParam('controller'); // 現在のリクエストを処理するコントローラ $this->request->getParam('action'); // 現…
アプリケーション内の3層アーキテクチャ プレゼンテーション層 表示上の関心。UI。 ビジネスロジック層 コアなルール。 データアクセス層 データの永続化。 MVCはプレゼンテーション層周辺のアーキテクチャ。ViewとControllerはプレゼンテーション層に、Mode…
ポリモーフィズム ポリモーフィズム=同名のメソッドで異なる挙動を実現すること。 width = $width; $this->height = $height; } public function getArea(): int { return 0; } } class Triangle extends Figure { public fun…
ルーティング 名前の変更 ルーティングの一般的な役割は、コントローラとそのアクションの名前を変更すること。 /users/some_action/5 でUsersコントローラにアクセスするのではなく、/cooks/some_action/5でアクセスすることができる。 connect( '/cooks/:a…
例外処理 マルチキャッチ throw命令 自分で任意の例外を発生させることができる。
セッション情報の読み書き $_SESSION['キー名']でセッション情報を読み書きできる。セッション機能を利用するときはあらかじめsession_start関数を呼び出す必要がある。 セッションの破棄 session_destroy関数でセッションを破棄。
クッキー情報を取得 $_COOKIE['クッキー名']でクッキー情報を取得できる。 クッキーに保存 header(クッキー名, 値, 有効期限)で値をクッキーに保存できる。
リクエストヘッダーの取得 $_SERVER['ヘッダー名']でヘッダー情報を取得できる。 レスポンスヘッダーの設定 header関数でレスポンスヘッダーを設定できる。
クエリ情報とは、URLの「?」以降にキー名=値のセットで付加される情報。 https://host.com?word=apple $_POSTと同様の記法でクエリ情報を取得できる。 <form method="GET" action="送信先"> <input name="word" type="text" /> <input value="送信" type="submit" /> </form> 送信先 apple ?> ポストデータとクエリ情報の使い分け データサイズ クエリ情報で送信できるデータ…
htmlのフォーム要素で入力した値を$_POST['パラメータ名']で取得する。 <form method="POST" action="送信先"> <input name="name" type="text" /> <input name="email" type="text" /> <input value="送信" type="submit" /> </form> 送信先 エスケープ処理 ユーザー入力値に関してはh…
再帰関数 自分自身を呼び出す関数。 可変関数 $変数名()で呼び出せる関数。変数名に応じて対応する関数を検索・実行できる。
基本的に引数は値渡しされる。 仮引数の頭に&をつけることで引数を参照渡しできる。
変数のスコープ ローカル変数 関数内で定義された変数。その関数の中でしかアクセスできない グローバル変数 関数内で定義されていない変数。関数の中ではアクセスできない
require_once 外部ファイルをインクルードする。指定したファイルが見つからなかった場合、エラーを発生させてスクリプトを中断する。 include_once 指定したファイルが見つからなかった場合、警告を発するだけでスクリプトは実行される。 requireとinclude…
引数/戻り値の型宣言 関数の引数・戻り値には明示的に型を指定することができる。 引数の型宣言 function 関数名(型 $変数名) 戻り値の型宣言 function 関数名(): 型 { ... } 指定できる型の種類 bool float int string array iterable 配列/Traversal型…
[1,2,8,2] array_merge( ['name' => 'sato', 'age' => 26], ['name' => 'suzuki', 'address' => 'Tokyo'] ); => ['name' => 'suzuki', 'age' =>…
継承により親クラスのメソッドやプロパティを引き継ぐ。 type = $type; } // 独自メソッド public function getType() { return $this…
クラスプロパティ 個々のインスタンスではなくクラスで管理するプロパティ(ex:インスタンスの数など)。 public(private) static プロパティ クラスプロパティへのアクセス クラス::$プロパティでクラスプロパティにアクセスできる。 クラスメソッド イン…
プロパティへのアクセス権を制限する プロパティをprivateで定義すると、クラスの外部からアクセス不可能になる(そのクラスのメソッドでしかアクセスできなくなる)。 目的 アクセスの手段を当該クラスのゲッターメソッドとセッターメソッドに限定する。そ…
HTML内で制御構文を使うときは {} の代わりに : とend〇〇を使う。 <div class="menu-items"> name ?> </div> if文の場合、elseif, elseの後ろにも : が必要。 <p></p> <p></p>