127-PHP类通过魔术变量判断类中是否存在指定的方法

<?php
    class ren{        //定义人类
        //定义成员属性
        private $name='Tom';
        private $age=15;
        //定义成员方法
        public function getname(){
            return $this->name;
        }
        public function getage(){
            return $this->age;
        }
        //定义__get()魔术方法
        public function __get($name){
            $method="get{$name}";        //定义变量用来接收方法名称
            if(method_exists($this,$method))        //判断类中是否存在指定的方法
                return $this->$method();
            else
                echo "<br />你不可以获取不存在或者不可访问的{$name}成员属性。";
        }
    }
    $ren=new ren();        //实例化一个对象
    //访问存在的成员属性
    echo '输出对象的名字:'.$ren->name;
    echo '<br />输出对象的年龄:'.$ren->age;
    echo $ren->sex;        //访问不存在的成员属性
?>

 

posted @ 2019-06-13 08:13  像一棵海草海草海草  阅读(252)  评论(0编辑  收藏  举报