ホームページ >バックエンド開発 >PHPチュートリアル >Zendエンジンの開発経緯(1)_PHPチュートリアル
Zeev は、Zend Engine によってもたらされたオブジェクト モデルについて、特にそれが PHP の以前のバージョンのモデルとどのように異なるのかについて説明しました。1997 年の夏に PHP 3 を開発したとき、オブジェクトの機能を PHP 指向にする計画はありませんでした。当時、PHP3 は純粋にプロセス指向の言語です。しかし、1997 年 8 月 27 日の夜にクラスのサポートが PHP に追加されました。 , 当時は PHP を研究する人が少なすぎたので、最小限の議論しか必要ありませんでした。そのため、1997 年 8 月から、PHP はオブジェクト指向プログラミング言語への第一歩を踏み出しました
確かに、これは最初の一歩にすぎません。この設計には関連するアイデアがほとんどなく、オブジェクトのサポートが十分に強力ではないため、$foo["bar"] を使用する代わりに、オブジェクトを使用することができます。 $foo->bar の方が見栄えがします。オブジェクト指向アプローチの主な利点は、メンバー関数またはメソッドを通じて機能を保存できることです。ただし、これは図 2 のアプローチと同じではありません。大きく異なります。
PHP 3 オブジェクト指向プログラミング PHP3 のオブジェクト指向プログラミング
<?php class Example { var $value = "some value"; function PrintValue() { print $this->value; } } $obj = new Example(); $obj->PrintValue(); ?> |
PHP 3 構造化プログラミング PHP3 PHP3 の構造化プログラミング
<?php function PrintValue($arr) { print $arr["value"]; } function CreateExample() { $arr["value"] = "some value"; $arr["PrintValue"] = "PrintValue"; return $arr; } $arr = CreateExample(); //Use PHP's indirect reference $arr["PrintValue"]($arr); ?> |
1 を見れば理解できるでしょう。