当前位置:首页 > PHP教程 > php应用 > 列表

实例讲解PHP中使用命名空间

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-06 18:54:48 浏览: 评论:0 

在本篇文章里我们通过实例给大家分享了关于PHP中使用命名空间的相关知识点内容,有兴趣的朋友们学习下。

让我给你一个类的简单例子:

  1. <?php  
  2.    
  3. namespace Dojo; 
  4.    
  5. class Ninja 
  6.    

在上面的示例中,我们在Dojo命名空间中创建了一个名为Ninja的新类,如果我们没有使用命名空间,并且我们的应用程序中包含了另一个名为Ninja的类,那么我们将得到一个错误,说明我们不能重新声明类。

那么命名空间就可以解决这个问题,我们可以创建另一个类,像这样:

  1. <?php  
  2.    
  3. namespace Training; 
  4.    
  5. class Ninja 
  6.    

现在,如果我们将这两个文件都包含在应用程序中,就可以很容易地区分我们想要使用哪个Ninja类。

作为一个例子,这里有一些代码,说明我们将如何使用Ninja类:

  1. <?php 
  2.    
  3. // require both of our ninja classes 
  4. require "Dojo/Ninja.php"
  5. require "Training/Ninja.php"
  6.    
  7. // create a new Ninja in the Dojo namespace 
  8. $ninja1 = new Dojo\Ninja(); 
  9.    
  10. // create a new Ninja in the Training namespace 
  11. $ninja2 = new Training\Ninja(); 

这两个类是不同的,可能具有不同的功能,因此命名空间允许我们使用相同的类名,并通过它们的名称空间对它们进行区分,你还可以使用PHP use函数使代码更具可读性。例如,假设我们只想使用Ninja而不是引入Dojo\Ninja。

我们可以这样做:

  1. <?php 
  2.    
  3. // require both of our ninja classes 
  4. require "Dojo/Ninja.php"
  5. require "Training/Ninja.php"
  6.    
  7. use Dojo\Ninja as Ninja; 
  8.    
  9. $my_ninja = new Ninja(); 

当我们想要使用另一个Ninja文件时,就可以简单的如下操作:

use Training\Ninja as Ninja;

就是这样!简单吧!

我想指出的最后一点是,通常在使用命名空间时,你要遵循命名空间的文件夹结构,以便更容易找到这些文件的位置。

所以我们的Training / Ninja.php文件可能会存在于Training文件夹中。

因此,想要继续在项目中添加易于记忆和常见的类名。只要记得给他们一个命名空间!

Tags: PHP命名空间

分享到: