其实纠结了很久要不要使用这个东西,但是看看了最新的框架laravel,cakephp等等的新版本都使用上了,所以还是随大流顺便学习下。
namespace和c++里面的概念差不多,只是用法有点差别。
首先,如果我在index.php文件中想使用db/mysql.php这个文件里的mysql这个类。
使用方法如下:
mysql.php文件:
namespace DB; class Mysql { public function index(){ echo ‘im mysql‘; } }
index.php文件
namespace test; // 声明当前文件为test命名空间下。 use DB\Mysql; //使用db命名空间下的mysql类,仅仅use DB;是不行的。!!!! include ‘db/mysql.php‘; //引入mysql.php这个文件。 $obj = new Mysql(); //这样就可以用了。
OK,继续,如果不想用use xxxx,也可以直接$obj = new \DB\Mysql();前提是也要include mysql.php这个文件。这里有个细微差别。
$obj = new Mysql(); //从公共区域查找mysql类.(这里的公共区域是指没有被命名空间包含的代码以及系统函数)
$obj = new DB\Mysql(); //从当前空间(这里假如是test)下的DB空间里 查找mysql类。(符合此要求的mysql声明为namespace test\DB)
$obj = new \DB\Mysql(); //从命名空间根部查找DB空间的mysql类。
时间: 2024-10-08 10:19:21