数码资讯
PHP魔术方法详细解答
从PHP 5以后的版本,在PHP中的类可以使用魔法的方法。两规定下划线(__)在一开始的方法是保留给神奇的方法,建议您不要在__开始最好的函数名称,除非是有魔力的方法overloading.php都_ _(两个下划线)在魔法的方法开始保留。 __tostring()和()__invoke 公共字符串
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
从PHP 5以后的版本,在PHP中的类可以使用魔法的方法。两规定下划线(__)在一开始的方法是保留给神奇的方法,建议您不要在__开始最好的函数名称,除非是有魔力的方法overloading.php都_ _(两个下划线)在魔法的方法开始保留。
__tostring()和()__invoke
公共字符串__tostring(void):这种方法是自动调用一个对象时,作为一个字符串。此方法必须返回一个字符串
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__tostring(){
返回你好世界!;
}
}
$ obj =新的魔法();
echo $ obj; / /你好世界!
>
__invoke():这个方法被调用时自动调用对象的方法调用。
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__tostring(){
返回你好世界!;
}
公共功能__invoke($ x){
回声__invoke调用参数,美元。;
}
}
$ obj =新的魔法();
为目标(10); / / __invoke叫参数10
>
__call()和()__callstatic
__call():该__call()方法被调用时自动对象访问的方法的名称不存在
__callstatic():该__callstatic()方法会自动调用对象时,访问一个静态方法名不存在
通过这两种方法,可以以不同的方式实现相同方法的名称调用。
复制代码代码如下所示:
< PHP
魔幻类{
参数是要调用的方法的名称,
包含要传递到$名称方法的参数。
公共功能__call($name,$参数){
/ /内爆()函数将数组中的元素为一个字符串。崩溃(分离器、阵列)
。美元的名字。参数:。崩溃(
}
}
$ obj =新的魔法();
$ obj ->运行(ParA1
>
__get()和()__set
__set()被调用时,将一个值赋给一个非访问属性
__get()被调用时的不可访问的属性值的读取
复制代码代码如下所示:
< PHP
魔幻类{
在函数之前有一个静态关键字。
公共功能__get($name){
返回获取属性。美元的名字;
}
}
$ obj =新的魔法();
echo $ obj ->类名。 / / ;获取属性类名
>
__get()被调用时的不可访问的属性值的读取
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__set($name,美元价值){
设置属性。美元的名字。值。美元的价值。;
}
}
$ obj =新的魔法();
$ obj -> classname = 'magicclass '; / /设置属性classnameto价值MagicClass
>
__isset()和()__unset
当isset()或空()被称为非接触性,__isset()将被称为
当unset()被称为非接触性,__unset()将被称为
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__isset($name){
回声__isset调用;
返回true;
}
}
$ obj =新的魔法();
回声' $ obj -> ClassName设置。isset($ obj -> className)。; / / __isset调用obj美元-> ClassName SET1
>
以上是8个面向PHP的魔法方法的介绍和示例,希望能对您有所帮助。
__tostring()和()__invoke
公共字符串__tostring(void):这种方法是自动调用一个对象时,作为一个字符串。此方法必须返回一个字符串
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__tostring(){
返回你好世界!;
}
}
$ obj =新的魔法();
echo $ obj; / /你好世界!
>
__invoke():这个方法被调用时自动调用对象的方法调用。
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__tostring(){
返回你好世界!;
}
公共功能__invoke($ x){
回声__invoke调用参数,美元。;
}
}
$ obj =新的魔法();
为目标(10); / / __invoke叫参数10
>
__call()和()__callstatic
__call():该__call()方法被调用时自动对象访问的方法的名称不存在
__callstatic():该__callstatic()方法会自动调用对象时,访问一个静态方法名不存在
通过这两种方法,可以以不同的方式实现相同方法的名称调用。
复制代码代码如下所示:
< PHP
魔幻类{
参数是要调用的方法的名称,
包含要传递到$名称方法的参数。
公共功能__call($name,$参数){
/ /内爆()函数将数组中的元素为一个字符串。崩溃(分离器、阵列)
。美元的名字。参数:。崩溃(
}
}
$ obj =新的魔法();
$ obj ->运行(ParA1
>
__get()和()__set
__set()被调用时,将一个值赋给一个非访问属性
__get()被调用时的不可访问的属性值的读取
复制代码代码如下所示:
< PHP
魔幻类{
在函数之前有一个静态关键字。
公共功能__get($name){
返回获取属性。美元的名字;
}
}
$ obj =新的魔法();
echo $ obj ->类名。 / / ;获取属性类名
>
__get()被调用时的不可访问的属性值的读取
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__set($name,美元价值){
设置属性。美元的名字。值。美元的价值。;
}
}
$ obj =新的魔法();
$ obj -> classname = 'magicclass '; / /设置属性classnameto价值MagicClass
>
__isset()和()__unset
当isset()或空()被称为非接触性,__isset()将被称为
当unset()被称为非接触性,__unset()将被称为
复制代码代码如下所示:
< PHP
魔幻类{
公共功能__isset($name){
回声__isset调用;
返回true;
}
}
$ obj =新的魔法();
回声' $ obj -> ClassName设置。isset($ obj -> className)。; / / __isset调用obj美元-> ClassName SET1
>
以上是8个面向PHP的魔法方法的介绍和示例,希望能对您有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。