1. PHP 类

1.1. 匿名类

可以创建一次性的简单对象.

匿名类一样可以使用 extend, implement, trait, interface

匿名类的名称是通过引擎赋予的.

1.2. 重载

PHP 重载是指动态地创建类属性和方法. 通过魔术方法来实现的.

1.3. 遍历对象

默认情况下, 所有可见属性都将被用于遍历.

可以使用 Iterator 接口来自定义决定如何遍历以及每次遍历哪些值可用.

1.4. Final 关键字

如果父类中的方法被声明为 final, 则子类无法覆盖该方法. 如果一个类被声明为 final, 则不能被继承.

1.5. 对象复制

当对象被复制后, PHP5 会对对象的所有属性执行一个浅复制. 所有的引用属性仍然会是一个指向原来变量的引用.

当复制完成后, 如果定义了 __clone(), 则新创建的对象中的 __clone() 会被调用, 可用于修改属性的值.

1.6. 对象比较

==: 如果两个类都是同一个对象的实例, 且两个对象的属性和属性值都相等, 那么这两个对象相等.

===: 这两个对象变量一定要指向某个类的同一个实例(即同一个对象).

1.7. 对象和引用

$a = new A;
$b = $a; // $a, $b 都是同一个标识符的拷贝
// ($a) = ($b) = <id>

$c= new A;
$d = &$c;

// $c, $d 是引用
// ($c, $d) = <id>

$e = new A;
function foo($obj) {
    // ($obj) = ($e) = <id>
}
foo($e);

引用主要和 unset() 关联比较大

1.8. 对象序列化

serialize() 返回类的包含字节流的字符串表示 unserialize() 反序列化一个类

序列化时不会保存方法, 反序列化后能够正常调用方法

results matching ""

    No results matching ""