首页 > 后端开发 > php教程 > php namespace 引起的问题

php namespace 引起的问题

WBOY
发布: 2016-06-06 20:14:49
原创
1151 人浏览过

<code><?php namespace abc;

class test1 {
    public $a = ' aaa';
    public function hello(){
        echo 'hello' . $this->a . PHP_EOL;
    }
}

class test2 {
    public function hello(){
        $obj = new test1;
        //var_dump(get_class($obj)); //always abc\test1
        $obj->hello();
    }
}

namespace def;
class test1 extends \abc\test1 {
    public $a = ' bbb';
}

class test2 extends \abc\test2 {

}



(new test2)->hello();</code>
登录后复制
登录后复制

求教:
不改动abc命名空间的代码的情况下, 如何在 def\test2 调用 def\test1 而不是 abc\test1

回复内容:

<code><?php namespace abc;

class test1 {
    public $a = ' aaa';
    public function hello(){
        echo 'hello' . $this->a . PHP_EOL;
    }
}

class test2 {
    public function hello(){
        $obj = new test1;
        //var_dump(get_class($obj)); //always abc\test1
        $obj->hello();
    }
}

namespace def;
class test1 extends \abc\test1 {
    public $a = ' bbb';
}

class test2 extends \abc\test2 {

}



(new test2)->hello();</code>
登录后复制
登录后复制

求教:
不改动abc命名空间的代码的情况下, 如何在 def\test2 调用 def\test1 而不是 abc\test1

下面这段这么修改:

<code>namespace def;
class test1 extends \abc\test1 {
    public $a = ' bbb';
}

class test2 extends test1 {

}


$a= new \def\test2();
print_r($a->hello());</code>
登录后复制
相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板