PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
前言 今天突然想到PHP官方网站上一转,一眼就看到PHP5推出的通告。虽然以前看到过PHP5的预告,但还是仔细看了PHP 5/Zend Engine 2.0新特性一文,一股JAVA气息扑面而来... 特将该文试译出来,首发于CSDN网站,以飨读者。 PHP 5/Zend Engine 2.0新特性 徐唤春 译 sfwebsite@hotmail.com http://www.php.net/zend-engine-2.php 全新的对象模型 PHP中的对象处理部分已完全重写,具有更佳的性能和更多的功能。在PHP的以前版本中,对象与内建变量类型(如integer和string)的处理方法相同,其弊端是当变量被赋值为对象或对象作为参数传递时,得到的是对象复制品。而在新版本中,对象通过句柄进行引用,而不是通过它的值。(句柄可以认是为是对象的标识符) 很多PHP程序员可能未意识到以前的对象模型的“复制怪癖”,因此以前的PHP程序将不需要做任何更改,或只做很小的改动即可运行 私有和保护成员 PHP 5引入了私有和保护成员变量,它们可以定义类属性在何时可以被访问。 例 类的保护成员变量能在该类的扩展类中被访问,而私有成员变量只能在本类中被访问。 <?php class MyClass { private $Hello = "Hello, World!\n"; protected $Bar = "Hello, Foo!\n"; protected $Foo = "Hello, Bar!\n"; function printHello() { print "MyClass::printHello() " . $this->Hello; print "MyClass::printHello() " . $this->Bar; print "MyClass::printHello() " . $this->Foo; } } class MyClass2 extends MyClass { protected $Foo; function printHello() { MyClass::printHello(); /* Should print */ print "MyClass2::printHello() " . $this->Hello; /* Shouldn''t print out anything */ print "MyClass2::printHello() " . $this->Bar; /* Shouldn''t print (not declared)*/ print "MyClass2::printHello() " . $this- |
查看所有评论
