PHP中__isset()方法详解-php教程

资源魔 86 0
__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开发自学

抱歉,评论功能暂时关闭!