PHP手工调用魔术函数_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > PHP手工调用魔术函数

PHP手工调用魔术函数

 2011/1/15 7:50:49  bardo  http://bardo.javaeye.com  我要评论(0)
  • 摘要:魔术函数是不需要自己手工去调用的。这是PHP文档中的说明。问题来了。父类中有__get,__set,子类不重载就不能完成功能。所以,还是要手工调的。是否可以呢?你运行一下下面的代码就可以了。<?phperror_reporting(E_ALL);classA{publicfunction__get($name){return'0';}publicfunction__set($name,$value){$this->$name=$value;echo($this->$name
  • 标签:PHP 函数

???????? 魔术函数是不需要自己手工去调用的。这是PHP文档中的说明。

???????? 问题来了。父类中有__get,__set,子类不重载就不能完成功能。所以,还是要手工调的。是否可以呢?

???????? 你运行一下下面的代码就可以了。

<?php
	error_reporting(E_ALL);
    class A {
        
        public function __get($name){
            return '0';
        }
        public function __set($name, $value) {
            $this->$name=$value;
            echo($this->$name.'</br>');
        }

    }
    class B extends A {
        
        public function __get($name){
            return '1';
            
        }
        public function __set($name, $value) {
            parent::__set($name, $value);
        }

    }
    class E extends B {
        

    }   
    $test =new B();
    echo($test->c.'</br>');
    $test->d=2;
    $test1=new E();
    $test1 =new B();
    echo($test1->c.'</br>');
    $test1->d=2;
    

?>

?输出结果是:

1

2

1

2

这说明,手工调用魔术函数是可以的。

发表评论
用户名: 匿名