一、类
1.类的定义
class classname
{
class definition;
}
更具体的有:
class classname
[ extends baseclass
]
{
[ var $property
[ = value
]; ... ]
[ function functionname
(args
) {
// code
}
...
]
}
2.创建类的一个对象
$object = new classname;
3.调用类的属性和方法
$object->properties;
$object->method(arg1,.....);
也可以通过属性来访问特定的属性名:
$prop = 'name';
echo $object->$prop;
静态的方法和属性要通过::运算符来调用
classname::name
classname::method();
4.类的方法定义
以__(两条下划线)开始的方法名被特殊的一类函数,故一般不定义这样的函数。
在类的方法中使用$this来表示这个类的对象指针。
静态的方法并不需要以static来开始,只要是没有使用$this指针的类方法均认为是静态的。
5.类的属性定义
在PHP的类定义中,我们并不需要特别声明一个类的初始化属性,同PHP中变量的使用一样,一个类的属性可以通过$this->来实时地添加。
6.类的继承
类可以通过extends来继承其父类的模板。
7.类的内省
检查一个类是否被定义:
$yes_no = class_exists(classname );
$classes = get_declared_classes( );
7.类的内省
检查一个类是否被定义:
$yes_no = class_exists(classname );
$classes = get_declared_classes( );
获得类定义的属性和方法
$methods = get_class_methods(classname
);
$properties = get_class_vars(classname
);
获得父类名:
$superclass = get_parent_class(classname
);
8.对象的内省
检查变量是否是一个对象或者获得其类名
$yes_no = is_object(var
);
$classname = get_class(object
);
判断一个对象是否具有某种方法
$yes_no = method_exists(object
, method
);
获得对象对应的类的方法和属性
$array = get_object_vars(object
);
8.序列化
序列化意味着我们可以将对象转化成一个字符序列,从而存贮到一个文件中去。
$encoded = serialize(something
);
$something = unserialize(encoded
);