php namespace 引起的问题

WBOY
Libérer: 2016-06-06 20:14:49
original
1136 Les gens l'ont consulté

<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>
Copier après la connexion
Copier après la connexion

求教:
不改动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>
Copier après la connexion
Copier après la connexion

求教:
不改动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>
Copier après la connexion
Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal