__isset(),当对不成拜访属性挪用isset()或empty()时挪用
正在看这个办法以前咱们看一下isset()函数的使用,isset()是测定变量能否设定用的函数,传入一个变量作为参数,假如传入的变量存正在则传回true,不然传回false。
那末假如正在一个工具里面应用isset()这个函数去测定工具外面的成员能否被设定可不成以用它呢?
分两种状况,假如工具外面成员是私有的,咱们就能够应用这个函数来测定成员属性,假如是公有的成员属性,这个函数就没有起作用了,缘由就是由于公有的被封装了,正在内部不成见。那末咱们就不成以正在工具的内部应用isset()函数来测定公有成员属性能否被设定了呢?当然是能够的,但没有是原封不动。
你只需正在类外面加之一个__isset()办法就能够了,当正在类内部应用isset()函数来测定工具外面的公有成员能否被设按时,就会主动挪用类外面的__isset()办法了帮咱们实现这样的操作。
__isset()的作用:
当对不成拜访属性挪用 isset() 或 empty() 时,__isset() 会被挪用。
请看上面代码演示:
<?php class Person { public $sex; private $name; private $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } /** * @param $content * * @return bool */ public function __isset($content) { echo "当正在类内部应用isset()函数测定公有成员{$content}时,主动挪用<br>"; echo isset($this->$content); } } $person = new Person("小明", 25); // 初始赋值 echo isset($person->sex),"<br>"; echo isset($person->name),"<br>"; echo isset($person->age),"<br>";
运转后果以下:
1 // public 能够 isset() 当正在类内部应用isset()函数测定公有成员name时,主动挪用 // __isset() 内 第一个echo 1 // __isset() 内第二个echo 当正在类内部应用isset()函数测定公有成员age时,主动挪用 // __isset() 内 第一个echo 1 // __isset() 内第二个echo
以上就是PHP中__isset()办法详解的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!