PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性

作者:袖梨 2022-07-02
前言
     今天突然想到PHP官方网站上一转,一眼就看到PHP5推出的通告。虽然以前看到过PHP5的预告,但还是仔细看了PHP 5/Zend Engine 2.0新特性一文,一股JAVA气息扑面而来...
     特将该文试译出来,首发于CSDN网站,以飨读者。
PHP 5/Zend Engine 2.0新特性
徐唤春 译 [email protected]
http://www.php.net/zend-engine-2.php
全新的对象模型
PHP中的对象处理部分已完全重写,具有更佳的性能和更多的功能。在PHP的以前版本中,对象与内建变量类型(如integer和string)的处理方法相同,其弊端是当变量被赋值为对象或对象作为参数传递时,得到的是对象复制品。而在新版本中,对象通过句柄进行引用,而不是通过它的值。(句柄可以认是为是对象的标识符)
很多PHP程序员可能未意识到以前的对象模型的“复制怪癖”,因此以前的PHP程序将不需要做任何更改,或只做很小的改动即可运行
私有和保护成员
PHP 5引入了私有和保护成员变量,它们可以定义类属性在何时可以被访问。

类的保护成员变量能在该类的扩展类中被访问,而私有成员变量只能在本类中被访问。
class MyClass {
    private $Hello = "Hello, World! ";
    protected $Bar = "Hello, Foo! ";
    protected $Foo = "Hello, Bar! ";
    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 */

相关文章

精彩推荐