实例讲解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 HTML代码串截取代码
Dec 29 PHP
php文件上传的简单实例
Oct 19 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
百万级别知乎用户数据抓取与分析之PHP开发
Sep 28 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
PHP中localeconv()函数的用法
Mar 26 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
May 15 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
phpstudy隐藏index.php的方法
Sep 21 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图片裁剪函数(保持图像不变形)
2014/05/04 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
python批量获取html内body内容的实例
2019/01/02 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
MYSQL基础面试题
2012/05/13 面试题
《雕塑之美》教学反思
2014/04/24 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
个人授权委托书范文
2014/09/21 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
卫生保健工作总结2015
2015/05/18 职场文书
个人业务学习心得体会
2016/01/25 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
pt-archiver 主键自增
2022/04/26 MySQL