命名空间是专为 解决 类 名重复冲突设计的。
http://www.php.net/manual/zh/language.namespaces.php
\ 表示当前文件的命名空间即全局命名空间,如果使用当前命名空间 的 类,可以省略。
new \sales\handle() : 表示实例化当前命名空间下的 sales 子命名空间下的handle类
new \manager\handle() : 表示实例化当前命名空间下的 manager 子命名空间下的handle类
Sales命名空间和manager命名空间都是当前命名空间下的子命名空间, 两个命名空间相互独立,互不干扰。
声明命名空间:
sales/sales.class.php <?php namespace sales; class handle { public function ……. }
manager/manager.class.php <?php namespace manager; class handle { public function ……. }
再类文件用namespace 关键字 声明命名空间名。
给命名空间定义别名:
use sales as a; use manager as b;
总结:感觉命名空间使用起来有一点麻烦,一般较大的项目用才能发挥其威力。