`
bardo
  • 浏览: 380293 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11853
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10173
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9554
社区版块
存档分类
最新评论

PHP手工调用魔术函数

    博客分类:
  • 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

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

1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics