让我给你一个类的简单例子:
?php
namespace Dojo;
class Ninja
{
}
在上面的示例中,我们在Dojo命名空间中创建了一个名为Ninja的新类。如果我们没有使用命名空间,并且我们的应用程序中包含了另一个名为Ninja的类,那么我们将得到一个错误,说明我们不能重新声明类。
那么命名空间就可以解决这个问题。我们可以创建另一个类,像这样:
?php
namespace Training;
class Ninja
{
}
现在,如果我们将这两个文件都包含在应用程序中,就可以很容易地区分我们想要使用哪个Ninja类。
作为一个例子,这里有一些代码,说明我们将如何使用Ninja类:
?php
// require both of our ninja classes
require "Dojo/Ninja.php";
require "Training/Ninja.php";
// create a new Ninja in the Dojo namespace
$ninja1 = new Dojo\Ninja();
// create a new Ninja in the Training namespace
$ninja2 = new Training\Ninja();
这两个类是不同的,可能具有不同的功能,因此命名空间允许我们使用相同的类名,并通过它们的名称空间对它们进行区分。你还可以使用PHP use函数使代码更具可读性。例如,假设我们只想使用Ninja而不是引入Dojo\Ninja。
我们可以这样做:
?php
// require both of our ninja classes
require "Dojo/Ninja.php";
require "Training/Ninja.php";
use Dojo\Ninja as Ninja;
$my_ninja = new Ninja();
当我们想要使用另一个Ninja文件时,就可以简单的如下操作:
use Training\Ninja as Ninja;
就是这样!简单吧!
我想指出的最后一点是,通常在使用命名空间时,你要遵循命名空间的文件夹结构,以便更容易找到这些文件的位置。
所以我们的Training / Ninja.php文件可能会存在于Training文件夹中。
因此,想要继续在项目中添加易于记忆和常见的类名。只要记得给他们一个命名空间!
您可能感兴趣的文章:- php的命名空间与自动加载实现方法
- PHP命名空间定义与用法实例分析
- php命名空间设计思想、用法与缺点分析
- PHP进阶学习之命名空间基本用法分析
- PHP中命名空间的使用例子
- PHP命名空间简单用法示例
- PHP命名空间与自动加载类详解
- PHP命名空间namespace及use的简单用法分析
- 如何理解PHP核心特性命名空间