自 PHP 5 起完全重写了对象模型以得到更佳性能和更多特性。这是自 PHP 4 以来的最大变化。PHP 5 具有完整的对象模型。
PHP 5 中的新特性包括访问控制,抽象类和 final 类与方法,附加的魔术方法,接口,对象复制和类型约束。
PHP 对待对象的方式与引用和句柄相同,即每个变量都持有对象的引用,而不是整个对象的拷贝。
属性:
类的变量成员叫做属性
属性声明关键字可以是public protected private
属性中的变量是可以初始化的但初始话必须是常数不能是计算式
例如
private $name="tom"; //ok
private $name="tom"."jack"; //error
类中的常量:
常量的值必须是一个定值,不能是变量,类的属性,数学运算符,函数调用等
仅能使用const NAME='tom';方式定义常量
访问常量在类的内部采用self::NAME 外部采用classname:NAME
自动加载类:
案列:
index.php文件 <?php header("content-type:text/html;charset=utf-8"); function __autoload($className){ require_once $className.'.php'; } $obj = new Name(); $obj2 = new User(); var_dump($obj->getName()); Name.php文件 <?php header("content-type:text/html;charset=utf-8"); class Name{ function getName(){ return "欧阳俊"; } } User.php文件 <?php header("content-type:text/html;charset=utf-8"); class User{ function getUser(){ return array('ouyangjun','jpp'); } }