自 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');
}
}