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实现Socket服务器的代码
Apr 03 PHP
Linux下php5.4启动脚本
Aug 03 PHP
PHP自动生成表单代码分享
Jun 19 PHP
php比较两个字符串长度的方法
Jul 13 PHP
ThinkPHP实现递归无级分类――代码少
Jul 29 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
php事件驱动化设计详解
Nov 10 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 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
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
python flask实现分页的示例代码
2018/08/02 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
详解Python循环作用域与闭包
2019/03/21 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
Python pickle模块实现对象序列化
2019/11/22 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
事业单位公务员的职业生涯规划
2014/01/15 职场文书
生日寄语大全
2014/04/08 职场文书
教师求职信
2014/06/17 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
批评与自我批评总结
2014/10/17 职场文书
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技