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 相关文章推荐
echo, print, printf 和 sprintf 区别
Dec 06 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
Feb 05 PHP
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
Apr 26 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
分享下PHP register_globals 值为on与off的理解
Sep 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
php中strtotime函数用法详解
Nov 15 PHP
php表单加入Token防止重复提交的方法分析
Oct 10 PHP
Zend Framework分发器用法示例
Dec 11 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
Oct 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
利用PHP动态生成VRML网页
2006/10/09 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
JS作用域链详解
2017/06/26 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
《理想》教学反思
2014/02/17 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
团日活动总结模板
2014/06/25 职场文书
机电系毕业生求职信
2014/07/11 职场文书
群众路线领导对照材料
2014/08/23 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
正规借条模板
2015/05/26 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
Python绘制分类图的方法
2021/04/20 Python
Python合并pdf文件的工具
2021/07/01 Python
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python
如何Python使用re模块实现okenizer
2022/04/30 Python