PHPの初歩、22回〜、なかなかWebアプリっぽいところを学びはじめました。

昨日に引き続き、ドットインストールにてPHPの初歩を勉強。

http://dotinstall.com/lessons/basic_php_v2/

  1. staticキーワードで定義。インスタンスではなく、クラスに属するプロパティ、メソッドの前につける。「クラス名::」につづけてメソッド、プロパティ($付き)で呼び出す。クラス内部で呼び出すときには「self::」を使う。
  2. 抽象クラス。abstract class で定義。abstractキーワードを使い、メソッドを子クラスで実装することを強制できる。
  3. インターフェース。interfaceで定義。クラスで実装すべきパブリックメソッドをまとめて定義。implementsキーワードに続けて複数のインターフェースをクラスで実装できる。抽象クラスとの違い。抽象クラス…プロパティ、メソッドの実装ができる。一つのクラスで一つしか継承できない。インターフェース…メソッドの定義のみで実装はできない。複数のインターフェースを実装できる。
  4. 外部ファイルの読込。phpファイルが大きくなり、分割した場合には、「require」「include」「autoload」でファイルを読みこむ。requireではファイル読み込みに失敗するとFatalErrorで処理が止まり、includeでは同様の場合Warningで処理を続行、autoloadは未定義のクラスが出てきた時に初めてファイル読み込みを行なう仕組み。
  5. 名前空間。namespaceキーワードを使い、ファイルの先頭で定義。クラスなどを使う時にnamespaceを付けて使う。もしくは、useキーワードでnamespaceに別名をつけて使う。
  6. 例外処理。try...catch節を使う。今回はdiv/0!に対して、throw new Exception("hogehoge")とするコードを書いた。
  7. フォームからのデータ処理。actionが指定されていない場合は、ページに埋め込まれたPHPが呼ばれる。$_SERVER['REQUEST_METHOD'] === 'POST'などでPOST/SET/GETリクエストに依るものか判別。$_POST['変数名']でPOSTで渡された変数を取得できる。input type=textの値はPOSTされると消えてしまうので、value=""などとして事前に渡された値が入るようにすると丁寧。
  8. Cookieの使い方。Cookieはブラウザにデータを保存する仕組み。setcookie(名前、値、有効期限)とする。有効期限が指定されていない場合はブラウザを閉じるまで。有効期限が今より前の時間だとクッキー削除。クッキーを取得するのは$_COOKIE['名前']とする。
  9. Sessionの使い方。Sessionはサーバーにデータを保存する仕組み。session_startとしてから、$_SESSION['名前']="〜〜〜"としてセットする。unser($_SESSION['名前'])で削除。セッションを取得するには$_SESSION['名前']とする。
  10. クッキーとセッションの違い。クッキーは気軽に使えるが、サイズが小さく、ユーザー側でデータを見たり、データ改ざんのおそれがある。セッションは大きなデータも可能で、データを見られたり改ざんの恐れがない。

30/30完了。次はMySQLの講座をさっと眺めて、必要なところだけやろう。