2018-05-08

2018-05-08  本文已影响0人  春风之旅

PHP5中几个魔术方法的使用
1.__get()查询魔术方法
特点是在一个类中当有些私有类属性在类外无权访问的时候,可以通过定义一个__get()方法,在方法中return出成员属性,然后类外输出
实例代码:
header("content-type:text/html;charset=utf-8");
class Student
{
private $name = "李四";
public $age = 23;
protected $edu = "大本";

    public function __get($n)
    {
        return $this->$n;
    }
}
$obj=new Student();

echo"{$obj->name}的年龄是{$obj->age},学历是{$obj->edu}";

2.__set()赋值魔术方法
特点是可以给类中私有的的属性在类外赋值__set($n,$v)

3.__unset()删除魔术方法
特点是可以把类中私有属性删除__unset($n)一个参数
方法重载
1.__call()赋值魔术方法
特点是当调用一个不存在或者没有访问权限的方法是调用,可以例如:
class Student
{
public function __call($func,$args)
{
echo"方法{$func}(".implode(',',$args).")不存在或无访问权限!";
}
}
$obj = new Student();
$obj->showInfo('张三',24);

2.__callStatic()用静态方式中调用一个不可访问方法
calss Student
{
punlic static function __callstatic($func,$args)
{
echo"方法{$func}(".implode(',',$args).")不存在或无权访问!";
}
}
Student::showInfo('张三',32);

上一篇 下一篇

猜你喜欢

热点阅读