A.php
namespace a\b\c;
class Apple(){
public function get_info(){
echo 'this is a';
}
}
B.php
namespace d\e\f;
class Apple(){
public function get_info(){
'echo this is b';
}
}
index.php
require_once("A.php");
require_once("B.php");
// $a = new Apple();这是不允许的,应为不知道该加载哪个类的Apple
$a = new a\b\c\Apple(); //指定用哪个类下的
$a->get_info();//结果是'this is a';
$b = new d\e\f\Apple();
$b->get_info();//结果是'this is b';
index.php在开始用use指定那个类
require_once("A.php");
require_once("B.php");
use a\b\c\Apple;
$a = new Apple();
$a->get_info() //结果是'this is a';
index.php如果同时要use用b.php:
require_once("A.php");
require_once("B.php");
use a\b\c\Apple;
use d\e\f\Apple as BApple; //起个别名
$a = new Apple();
$a->get_info();
$b = new BApple();
$b->get_info();
c.php c.php没有命名空间,则此时为全局类
class Apple{
public function get_info(){
echo 'this is c';
}
}
require_once("A.php");
require_once("B.php");
require_once("C.php");
use a\b\c\Apple;
use d\e\f\Apple as BApple; //起个别名
//如果要使用c.php的Apple,直接 $c = new Apple() 是不行的,此时的Apple还是a.php下的,可以这样去访问顶层类
$c = new \Apple();
$c->get_inf();//输出 'this is c';