很多站长朋友们都不太清楚php魔术方法函数,今天小编就来给大家整理php魔术方法函数,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP怎么在子类用父类的魔术方法 2、 PHP5中魔术方法函数有哪几个,请举例说明各自 3、 php中常用的魔术方法有哪些? 4、 php魔术方法。。 PHP怎么在子类用父类的魔术方法父类的魔术方法:
function __construct()
{
echo '我是父类的构造函数(魔术方法)';
}
function __unset()
{
echo '我是父类的销毁方法(魔术方法)';
}
子类调用
function index()
{
parent::__construct();
parent::__unset();
}
输出:
我是父类的构造函数(魔术方法)
我是父类的销毁方法(魔术方法)
PHP5中魔术方法函数有哪几个,请举例说明各自网页链接
__construct()//类每次实例化的时候调用
__destruct()//类释放资源的时候调用
__call()//$this->method() method不存在的时候调用
__callStatic()//new test()::method() method不存在的时候调用
_get()//获取不可访问的类内部变量调用。包括private protected 和不存在的时候
__set()///赋值不可访问的类内部变量调用。包括private protected 和不存在的时候
__isset()//判断不可访问的类内部变量调用
__unset()//删除不可访问的类内部变量调用
__sleep()//序列化类的时候调用 serialize(new teset)
__wakeup()//反序列化的时候调用unserialize(new teset)
__toString()// 字符串的方式调用类 echo new test();
__invoke()//函数方式调用类test(2);
__set_state()//var_export(类)调用
__clone()//克隆的时候调用$obj2 = clone $obj;
__debugInfo//var_dump(new test())调用
php中常用的魔术方法有哪些?php规定以两个下划线__开头的方法都保留为魔术方法,建议自定义函数的函数名最好避开。
__construct() 实例化类时自动调用。
__destruct() 类对象使用结束时自动调用。
__set() 在给未定义的属性赋值的时候调用。
__get() 调用未定义的属性时候调用。
__isset() 使用isset()或empty()函数时候会调用。
__unset() 使用unset()时候会调用。
__sleep() 使用serialize序列化时候调用。
__wakeup() 使用unserialize反序列化的时候调用。
__call() 调用一个不存在的方法的时候调用。
__callStatic()调用一个不存在的静态方法是调用。
__toString() 把对象转换成字符串的时候会调用。比如 echo。
__invoke() 当尝试把对象当方法调用时调用。
__set_state() 当使用var_export()函数时候调用。接受一个数组参数。
__clone() 当使用clone复制一个对象时候调用。
php魔术方法。。在 PHP 里,将所有以 __(两个下划线)开头的类方法保留为魔术方法,所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。
魔术方法的引入是对面向对象编程思想的进一步实现,重载就是通过魔术方法来实现的。
PHP 魔术方法主要有:
__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(),__sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等。
最常见的是__construct(), __destruct(),__get(), __set()等:
__construct和__destruct是类的构造函数和析构函数。
关于php魔术方法函数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php魔术方法函数 php魔术函数是什么的详细内容...