Maison >développement back-end >tutoriel php >php namespace 引起的问题
<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>