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


Posted in PHP onJanuary 27, 2019

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

<?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 相关文章推荐
在字符串中把网址改成超级链接
Oct 09 PHP
php pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
PHP form 表单传参明细研究
Jul 17 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
PH P5.2至5.5、5.6的新增功能详解
Jul 14 PHP
php提取字符串中网站url地址的方法
Dec 03 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
Dec 02 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
PHP的PDO错误与错误处理
Jan 27 #PHP
实例分析PHP将字符串转换成数字的方法
Jan 27 #PHP
PHP的PDO预处理语句与存储过程
Jan 27 #PHP
PHP中数组转换为SimpleXML教程
Jan 27 #PHP
实例讲解php实现多线程
Jan 27 #PHP
php中访问修饰符的知识点总结
Jan 27 #PHP
实例讲解php将字符串输出到HTML
Jan 27 #PHP
You might like
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
用js判断输入是否为中文的函数
2014/03/10 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
详解百度百科目录导航树小插件
2017/01/08 Javascript
详解vue-router基本使用
2017/04/18 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
详解Vite的新体验
2021/02/22 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python导入oracle数据的方法
2015/07/10 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
Python实现图片添加文字
2019/11/26 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
大学生简短的自我评价分享
2014/02/20 职场文书
员工安全生产承诺书
2014/05/22 职场文书
综艺节目策划方案
2014/06/13 职场文书
解除劳动合同证明书
2014/09/26 职场文书
工作报告范文
2019/06/20 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
python开发制作好看的时钟效果
2022/05/02 Python