一、类
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 );