ホームページ > バックエンド開発 > PHPチュートリアル > php4 と php5 の違い_PHP チュートリアル

php4 と php5 の違い_PHP チュートリアル

WBOY
リリース: 2016-07-15 13:22:29
オリジナル
910 人が閲覧しました

PHP5のオブジェクトはより体系的かつ包括的に調整されており、現在の見た目はJavaに少し似ているかもしれません。このセクションでは、PHP5 の新しいオブジェクト モードに焦点を当て、いくつかの簡単な例を示します。このセクションを PHP5 への取り組みの新たな出発点にしてください。 :) __set と __get

* 静的メンバー

コンストラクターとデストラクター

PHP4 では、関数がオブジェクトと同じ名前を持つ場合、この関数はオブジェクトのコンストラクターになります、PHP4 にはデストラクターの概念はありませんで 。

PHP5 では、コンストラクターは __construct という名前で統一され、デストラクターの概念が導入され、 __destruct という名前で統一されています。

例 1: コンストラクターとデストラクター

class foo {

var $x;

function __construct($x) {

$this->x = $x} function display () {

print($this->x);

}

function __destruct() {

}

}

$o1 = new foo(4 );

$o1->display();

?>

上記の例では、foo クラスの呼び出しを終了すると、そのデストラクターが呼び出され、「bye bye」が出力されます。

オブジェクトリファレンス

ご存知のとおり、PHP4 では、変数を関数またはメソッドに渡すと、実際には変数のコピーが作成されます。つまり、関数またはメソッドに渡すものは、変数のコピーです。参照記号「&」を使用して、コピーではなく参照を作成することを宣言しました。 PHP5ではオブジェクトは常に参照の形で存在し、オブジェクトへの代入操作も参照操作となります。

例 2: オブジェクト参照

class foo {

var $x;

function setX($x) {

$this->x = $x}

function getX() {

$this->x

}

$o1 = 新しい foo;

$o1->setX(4); setX(5);

if($o1->getX() == $o2->getX()) print("なんと!")

オブジェクトのクローン

上で述べたように、オブジェクトが常に参照として呼び出される場合、オブジェクトのコピーを取得したい場合はどうすればよいでしょうか? PHP5 は、__clone 構文を使用したオブジェクトのクローン作成という新機能を提供します。

例 3: オブジェクトの複製

class foo {

var $x;

function setX($x) {

$this->x = $x}

function getX() {

return $this->x;

}

}

$o1 = 新しい foo;

$o1->setX(4);

$o1->setX(5); if($o1->getX() != $o2->getX()) print ("コピーは独立しています")

オブジェクトクローン作成方法は他の多くのアプリケーション言語に存在するため、その安定性について心配する必要はありません。 :)

オブジェクトのプライベート、パブリック、およびプロテクトモード

PHP4 では、オブジェクトのすべてのメソッドと変数はパブリックです。これは、オブジェクトの外部で変数とメソッドを操作できることを意味します。 PHP5 では、このアクセス許可を制御するために、Public、Protected、Private という 3 つの新しいモードが導入されています。

パブリックモード(Public): オブジェクトの外部での操作制御を可能にします。

プライベート モード (プライベート): このオブジェクト内のメソッドのみが操作および制御を許可されます。

保護モード (保護): このオブジェクトとその親オブジェクトが操作および制御できるようにします。

http://www.bkjia.com/PHPjc/446963.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/446963.html

技術記事

PHP5 のオブジェクトはより体系的かつ包括的に調整されており、現在の外観は Java に似ているかもしれません。このセクションでは、PHP5 の新しいオブジェクト モードに焦点を当て、例を示します...

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート