2021-12-01から1ヶ月間の記事一覧

3層アーキテクチャ

アプリケーション内の3層アーキテクチャ プレゼンテーション層 表示上の関心。UI。 ビジネスロジック層 コアなルール。 データアクセス層 データの永続化。 MVCはプレゼンテーション層周辺のアーキテクチャ。ViewとControllerはプレゼンテーション層に、Mode…

ポリモーフィズム

PHP

ポリモーフィズム ポリモーフィズム=同名のメソッドで異なる挙動を実現すること。 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…

例外処理

PHP

例外処理 マルチキャッチ throw命令 自分で任意の例外を発生させることができる。

$_SESSION ~セッション情報~

PHP

セッション情報の読み書き $_SESSION['キー名']でセッション情報を読み書きできる。セッション機能を利用するときはあらかじめsession_start関数を呼び出す必要がある。 セッションの破棄 session_destroy関数でセッションを破棄。

$_COOKIE ~クッキー情報~

PHP

クッキー情報を取得 $_COOKIE['クッキー名']でクッキー情報を取得できる。 クッキーに保存 header(クッキー名, 値, 有効期限)で値をクッキーに保存できる。

$_SERVER ~ヘッダー情報~

PHP

リクエストヘッダーの取得 $_SERVER['ヘッダー名']でヘッダー情報を取得できる。 レスポンスヘッダーの設定 header関数でレスポンスヘッダーを設定できる。

$_GET ~クエリ情報~

PHP

クエリ情報とは、URLの「?」以降にキー名=値のセットで付加される情報。 https://host.com?word=apple $_POSTと同様の記法でクエリ情報を取得できる。 <form method="GET" action="送信先"> <input name="word" type="text" /> <input value="送信" type="submit" /> </form> 送信先 apple ?> ポストデータとクエリ情報の使い分け データサイズ クエリ情報で送信できるデータ…

$_POST ~ポストデータ~

PHP

htmlのフォーム要素で入力した値を$_POST['パラメータ名']で取得する。 <form method="POST" action="送信先"> <input name="name" type="text" /> <input name="email" type="text" /> <input value="送信" type="submit" /> </form> 送信先 エスケープ処理 ユーザー入力値に関してはh…

いろいろな関数呼び出し

PHP

再帰関数 自分自身を呼び出す関数。 可変関数 $変数名()で呼び出せる関数。変数名に応じて対応する関数を検索・実行できる。

引数の参照渡し

PHP

基本的に引数は値渡しされる。 仮引数の頭に&をつけることで引数を参照渡しできる。

グローバル変数とローカル変数

PHP

変数のスコープ ローカル変数 関数内で定義された変数。その関数の中でしかアクセスできない グローバル変数 関数内で定義されていない変数。関数の中ではアクセスできない

require_once, include_once ~スクリプトの外部化~

PHP

require_once 外部ファイルをインクルードする。指定したファイルが見つからなかった場合、エラーを発生させてスクリプトを中断する。 include_once 指定したファイルが見つからなかった場合、警告を発するだけでスクリプトは実行される。 requireとinclude…

引数・戻り値の型宣言

PHP

引数/戻り値の型宣言 関数の引数・戻り値には明示的に型を指定することができる。 引数の型宣言 function 関数名(型 $変数名) 戻り値の型宣言 function 関数名(): 型 { ... } 指定できる型の種類 bool float int string array iterable 配列/Traversal型…