ホームページ >バックエンド開発 >PHPチュートリアル >PHP5 の概要 1_PHP チュートリアル
PHP5 はまだ正式にリリースされていませんが (開発バージョンはすでにダウンロード可能です)、新しいバージョンがもたらす驚きを体験し始めることができます。次の紹介では、PHP5 の 3 つの主要な機能に焦点を当てます。これら 3 つの主な機能は次のとおりです: * 新しいオブジェクト モード * 例外処理 (Exceptions) * 名前空間 (ネームスペース) 開始する前に、次の 2 つの点を宣言する必要があります: * 操作方法を説明するために、記事内のいくつかの例ではこれを使用しています。記事の読みやすさ。 ※記事に記載されている部分とPHP5の最終リリース版とは一部異なる場合がありますので、PHP5が正式にリリースされる前に、http://snaps.php.netからいつでも最新のコンパイル済みバージョンをダウンロードして体験することができます。 PHP5 のこれらの新しい機能をぜひお試しください。 PHP5 の新しいオブジェクト モデルのオブジェクトは、より体系的かつ包括的に調整されており、現在の外観は Java に似ているかもしれません。このセクションでは、PHP5 の新しいオブジェクト モードに焦点を当て、いくつかの簡単な例を示します。このセクションを PHP5 への取り組みの新たな出発点にしてください。 :) * コンストラクターとデストラクター * オブジェクトへの参照 * オブジェクトのクローン * オブジェクトのプライベート、パブリック、保護モード * インターフェイス (インターフェイス) * 抽象クラス * __call * __set および __get * 静的メンバーのコンストラクターと分析 コンストラクター PHP4 では、関数がオブジェクトと同じ名前の場合、この関数はオブジェクトのコンストラクターになります。PHP4 にはデストラクターの概念がありません。 PHP5 では、コンストラクターは一律 __construct という名前になり、デストラクターの概念が導入され、一律 __destruct という名前になります。 例 1: コンストラクターとデストラクター x = $x; } function display() { print($this->x) } function __destruct() { print("bye bye") } } $o1 = new foo(4) ); $o1->display(); ?> 上記の例では、foo クラスの呼び出しを終了すると、そのデストラクターが呼び出され、上記の例では「bye bye」が出力されます。ご存知のとおり、PHP4 ではオブジェクト参照により関数またはメソッドに変数を渡すと、実際には変数のコピーが作成されます。つまり、参照を使用しない限り、関数またはメソッドに渡すものは変数のコピーになります。記号「&」は、コピーではなく参照であることを宣言するために使用されます。 PHP5ではオブジェクトは常に参照の形で存在し、オブジェクトへの代入演算も参照演算となります。 例 2: オブジェクト参照 x = $x; } function getX() { return $o1->setX(4); >setX(5); if($o1->getX() == $o2->getX()) print("Oh my god!"); ?> オブジェクトのクローン作成 前述のように、オブジェクトは常に次のように始まります。オブジェクトが参照として呼び出されたときに、そのコピーを取得したい場合はどうすればよいですか? PHP5 は、__clone 構文を使用したオブジェクトのクローン作成という新機能を提供します。 例 3: オブジェクトのクローン作成 x = $x; } function getX() { return $this->x; } $o1 = $o1->__clone; (); $o1->setX(5); if($o1->getX() != $o2->getX()) print("コピーは独立しています");他のアプリケーション プログラミング言語に存在するため、安定性について心配する必要はありません。 :) オブジェクトのプライベート、パブリック、およびプロテクト モード PHP4 では、オブジェクトのすべてのメソッドと変数はパブリックです。つまり、オブジェクトの外部で変数とメソッドを操作できます。 PHP5 では、このアクセス許可を制御するために、Public、Protected、Private という 3 つの新しいモードが導入されています。 パブリックモード(Public): オブジェクト外での操作制御を可能にします。 プライベート モード (プライベート): このオブジェクト内のメソッドのみが操作および制御を許可されます。 保護モード (Protected): このオブジェクトとその親オブジェクトが操作および制御できるようにします。 例 4: オブジェクトのプライベート、パブリック、およびプロテクト モードprivate_foo(); //同じクラスにあるため、プライベート メソッドを呼び出すことができます print("Im protected") } private function private_foo(); x = 3; print("プライベート"); } } class foo2 extends foo { $this->protected_foo(); // $this->private_foo () ; // 関数は基本クラスではプライベートです } } $x = new foo(); //$x->protected_foo();クラスと派生クラス //$x->private_foo(); //無効なプライベート メソッドはクラス内でのみ使用できます $x2 = new foo2(); ?> ヒント: オブジェクト変数内オブジェクト内の変数を直接操作することは、オブジェクト指向プログラミングの習慣としては適切ではありません。処理するために必要な変数をオブジェクトのメソッドに渡すことです。 インターフェース ご存知のとおり、PHP4 のオブジェクトは継承をサポートしています。オブジェクトを別のオブジェクトの派生クラスにするには、「class foo extendsparent」のようなコードを使用して制御する必要があります。 PHP4 および PHP5 では、オブジェクトは 1 回のみ継承でき、多重継承はサポートされていません。ただし、PHP5 では、インターフェイスという新しい用語が登場しました。インターフェイスは、特定の処理コードを持たない特別なオブジェクトであり、その後、オブジェクトは、implement キーワードを使用して必要な要素を簡単に追加できます。インターフェイスが統合され、その後、特定の実行コードが追加されます。 例 5: インターフェイス これは、コードの読みやすさと人気を向上させるのに非常に役立ちます。上記の例から、オブジェクト foo には、表示可能なインターフェイスと印刷可能なインターフェイスが含まれていることがわかります。 foo には、display() メソッドと print() メソッドが必要です。インターフェイス部分を理解していれば、オブジェクトの内部動作を気にすることなく、簡単にオブジェクトを操作できます。 続く~~~