魔术方法

 

我们在前面学过魔术常量  比如 __LINE__    __FILE__

魔术方法是自动调用的比如:

在给不可访问属性赋值时,__set() 会被调用。

读取不可访问属性的值时,__get() 会被调用。

当对不可访问属性调用 isset()empty() 时,__isset() 会被调用。

当对不可访问属性调用 unset() 时,__unset() 会被调用。

在对象中调用一个不可访问方法时,__call() 会被调用。

用静态方式中调用一个不可访问方法时,__callStatic() 会被调用。

 

我们可以利用魔术方法 做很多事情,比如 属性的读写权限啊  要是没有__set() 无法实现

<?php

    class animote{
        private $name;

        function __set($name,$k){
            $this->$name=$k;
        }

        public function show(){
            echo $this->name;
        }
    }

    $b = new animote();
    $b->name="中国";
    $b->show();   //私有属性  设置了中国

 

posted @ 2021-01-15 15:25  WhiteSpace  阅读(71)  评论(0编辑  收藏  举报