1. namespace是什么?
命名空间是namespace是翻译,作用是防止类名或函数名重复,命名重复会导致报错。以前没有命名空间的时候只能人为去防止重复,但项目上了一定规模难以避免这个问题,因此,在php5.3版本推出了namespace。
2. namespace的简单使用
使用比较简单,下面举个例子
1. 先是不用namespace的方式
Foo.php
<?php
class Test {
public static function index(){
echo 'hello world 1';
}
}
Fee.php
<?php
class Test{
public static function index(){
echo 'hello world 2';
}
}
然后在index.php分别require这两个文件
<?php
require './Foo.php';
require './Fee.php';
Test::index();
Test::index();
由于foo.php和fee.php里的类名和方法名都一样,所以在index.php里系统就无法区分到底是调用的那个类,这时运行就会报错
PHP Fatal error: Cannot declare class Test, because the name is already in use in C:\Users\53101\Desktop\study\php\namespace_study\Foo.php on line 3
2. 下面是加入namespace后的样子
Foo.php
<?php
namespace Foo;
class Test {
public static function index(){
echo 'hello world 1';