1:普通成员方法(属性)与静态成员方法(属性)调用的区别
1.1:普通成员方法,属性的调用需要对象使用->来操作
例如:
类外(公共):
$obj = new Class();
echo $obj->property;
$obj->method();
类内:echo $this->property;
$this->method();
1.2:类中的静态成员方法(属性)则需要类使用::(类作用域)来操作
例如:
类外(公共):
echo ClassName::$property;
ClassName::method();
[这是个冷门知识点,通过对象也可以调用静态成员方法]
$obj = new Class();
$obj->method();//静态方法也可以这样调用
类内: echo ClassName::$property;
ClassName::method();//不常用
self::method();//常用
echo self::$property;
2:回调函数call_user_func()与call_user_func_array的使用方法
2.1:对于普通函数的回调,他两的区别主要是在于回调函数的参数(函数的第二个参数)的传递形式。后者是以一个数组的形式传递,前者是以形参(不限个数)的形式传递。
2.2:对于类中的静态方法和对象中的普通方法的回调二者除了保持上述第二个参数差异,二者在第一个参数上保持一致,但相对于普通函数回调是有同样差异的。均需要使用数组形式。对于静态方法首个参数要为类名和静态方法名两个元素组成的数组,即array(“类名”,”静态方法名”),对于普通方法则是对象实例和方法名组成的数组,即array(new class(),”方法名”)。