实例讲解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 相关文章推荐
php打造属于自己的MVC框架
Mar 07 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
php通过字符串调用函数示例
Mar 02 PHP
学习php中的正则表达式
Aug 17 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
微信自定义分享php代码分析
Nov 24 PHP
什么是PHP7中的孤儿进程与僵尸进程
Apr 14 PHP
PHP基本语法
Mar 31 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
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
JavaScript 事件查询综合
2009/07/13 Javascript
文本框的字数限制功能jquery插件
2009/11/24 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
详解jquery和vue对比
2019/04/16 jQuery
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
Python函数的周期性执行实现方法
2016/08/13 Python
Django添加sitemap的方法示例
2018/08/06 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
优秀演讲稿范文
2013/12/29 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书