命名規則 †クラス †
クラス名の例: Zend_Pdf 関数とメソッド †
関数名の例: filterInput() 変数 †
定数 †
定数名の例: EMBED_SUPPRESS_EMBED_EXCEPTION クラスの基礎 †コンストラクタ †クラスをインスタンス化する際に最初に実行されるメソッド「__construct」で固定 <?php class MyClass { public function __construct() { echo("MyClassをインスタンス化"); } } $objCls = new MyClass(); ?> デストラクタ †オブジェクトが破棄される際に実行されるメソッド「__destruct」で固定 <?php class MyClass { public function __destruct() { echo("MyClassを破棄"); } public function myMethod() { echo("myMethodを実行<br>"); } } $objCls = new MyClass(); $objCls->myMethod(); ?> アクセス修飾子 †
final修飾子 †クラスの継承やメソッドのオーバーライド(上書き)を禁止する オーバーロード †オーバーライドとは異なる プロパティのオーバーロード †
メソッドのオーバーロード †未定義のメソッドが実行されるとFATAL ERRORになるが、これを__callメソッドで処理することができる クラスのオーバーロード †未定義のクラスのオブジェクトを作成するとFATAL ERRORになるが、これを__autoload関数で処理することができる 静的プロパティとメソッド †静的プロパティ †通常プロパティはオブジェクトごとに異なる変数として扱われるが、static宣言をすると同一クラス内で共有される クラス内で参照する場合: self::プロパティ名 スタティックメソッド †クラス外から静的にコールするためのメソッド クラス内で参照する場合: self::メソッド名 抽象メソッドとクラス †抽象メソッド †functionの直前にabstract宣言をすると下位クラスにおいて実装することを強制できる 抽象クラス †classの直前にabstract宣言をすると直接インスタンスを生成することを禁止できる インターフェース †複数のクラスを継承したい場合にインターフェースを持つクラスを定義することで可能となる interface MyMail { function sendMail($to); } インターフェースを利用するクラスではimplementsを使用する class MyNewShop extends MyShop implements MyMail { function sendMail($to) { // } } |