• 售前

  • 售后

热门帖子
入门百科

实例讲解PHP中利用定名空间

[复制链接]
爱宇婷疤 显示全部楼层 发表于 2021-10-26 14:05:51 |阅读模式 打印 上一主题 下一主题
让我给你一个类的简朴例子:
  1. <?php
  2. namespace Dojo;
  3. class Ninja
  4. {
  5. }
复制代码
在上面的示例中,我们在Dojo定名空间中创建了一个名为Ninja的新类。如果我们没有使用定名空间,而且我们的应用步伐中包含了另一个名为Ninja的类,那么我们将得到一个错误,说明我们不能重新声明类。
那么定名空间就可以解决这个题目。我们可以创建另一个类,像如许:
  1. <?php
  2. namespace Training;
  3. class Ninja
  4. {
  5. }
复制代码
现在,如果我们将这两个文件都包含在应用步伐中,就可以很容易地区分我们想要使用哪个Ninja类。
作为一个例子,这里有一些代码,说明我们将怎样使用Ninja类:
  1. <?php
  2. // require both of our ninja classes
  3. require "Dojo/Ninja.php";
  4. require "Training/Ninja.php";
  5. // create a new Ninja in the Dojo namespace
  6. $ninja1 = new Dojo\Ninja();
  7. // create a new Ninja in the Training namespace
  8. $ninja2 = new Training\Ninja();
复制代码
这两个类是差别的,可能具有差别的功能,因此定名空间允许我们使用相同的类名,并通过它们的名称空间对它们进行区分。你还可以使用PHP use函数使代码更具可读性。例如,假设我们只想使用Ninja而不是引入Dojo\Ninja。
我们可以如许做:
  1. <?php
  2. // require both of our ninja classes
  3. require "Dojo/Ninja.php";
  4. require "Training/Ninja.php";
  5. use Dojo\Ninja as Ninja;
  6. $my_ninja = new Ninja();
复制代码
当我们想要使用另一个Ninja文件时,就可以简朴的如下操作:
  1. use Training\Ninja as Ninja;
复制代码
就是如许!简朴吧!
我想指出的末了一点是,通常在使用定名空间时,你要依照定名空间的文件夹布局,以便更容易找到这些文件的位置。
以是我们的Training / Ninja.php文件可能会存在于Training文件夹中。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作