php 命名空间(namespace)原理与用法实例小结


Posted in PHP onNovember 13, 2019

本文实例讲述了php 命名空间(namespace)原理与用法。分享给大家供大家参考,具体如下:

命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀,也可以采用命名空间的方式解决

TestSpace.php

<?php
namespace Demo\Test;    //声明一个命名空间Demo
class Test1
{
  static function test()
  {
    return "my class name demo1";
  }
  function test1()
  {
    return "2222222222222222222B";
  }
}

模式一 直接实例该类

index1.php

require("TestSpace.php");
$ms1 = new \Demo\Test\Test1();
echo $ms1->test1() . "<br />\n";
echo \Demo\Test\Test1::test();

模式二 use 载入该类

index2.php

require("TestSpace.php");
use Demo\Test\Test1;  //导入命名空间Demo\Test下的Tese1类
$ms2 = new Test1();
echo $ms2->test1() . "<br />\n";
echo Test1::test();

模式三 use载入命名空间

index3.php

use Demo\Test;     //载入命名空间Demo\Test 这一层级
$ms3 = new Test\Test1();
echo $ms3 ->test1() . "<br />\n";
echo Test\Test1::test();

模式四

index4.php

use Demo\Test as test;
$ms3 = new test\Test1();
echo $ms3 ->test1() . "<br />\n";
echo test\Test1::test();

至此 thinkphp 3.2版本中我们看到的

namespace Home\Controller;
use Think\Controller;

namespace 声明的是该文件的命名空间;

use 载入在Think命名空间下的Controller 类

tip : Controller 类 位于 Thinkphp/Library/Think/Controller.class.php

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP脚本中include文件出错解决方法
Nov 20 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
PHP页面间参数传递的四种方法详解
Jun 09 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
php字符串截取函数用法分析
Nov 25 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 PHP
PHP文件读取功能的应用实例
May 08 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
php防止表单重复提交实例讲解
Feb 11 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 13 #PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
Nov 13 #PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
Nov 13 #PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 #PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 #PHP
Yii框架自定义数据库操作组件示例
Nov 11 #PHP
php接口隔离原则实例分析
Nov 11 #PHP
You might like
php db类库进行数据库操作
2009/03/19 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
php实现图片缩略图的方法
2016/03/29 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
关于query Javascript CSS Selector engine
2013/04/12 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
简单谈谈axios中的get,post方法
2017/06/25 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
速记Python布尔值
2017/11/09 Python
python 元组的使用方法
2020/06/09 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
六一儿童节活动总结
2014/08/27 职场文书
公司股份转让协议书范本
2015/01/28 职场文书