PHP命名空间定义与用法实例分析


Posted in PHP onAugust 14, 2019

本文实例讲述了PHP命名空间定义与用法。分享给大家供大家参考,具体如下:

php的命名空间的样式跟linux的路径很相似。

PHP命名空间定义与用法实例分析

我们使用文件的路径作为命名空间。

定义命名空间

MVC\Model\index.php代码

<?php
namespace MVC\Model;
class Index
{
  public static function test()
  {
    echo "test#Model";
  }
}

使用命名空间

MVC\Application\index.php代码

<?php
namespace MVC\Application;
use \MVC\Model;
require_once "../Model/index.php";
class Index
{
  public static function test()
  {
    echo "test#Application";
  }
}
//Index::test();  //输出test#Application
Model\Index::test();//输出test#Model

其中use \MVC\Model;等价于use \MVC\Model as Model;

所以我们才可以用Model\Index::test();这种方式调用Model下面的index类。

我们在声明使用命名空间的,声明的路径越具体,我们使用起来就越方便。

贴上几段代码,感受下~

1) use \MVC

use \MVC;
require_once "../Model/index.php";
MVC\Model\Index::test();//输出test#Model

2)use \MVC\Model

use \MVC\Model;
require_once "../Model/index.php";
Model\Index::test();//输出test#Model

3) use \MVC\Model\Index

use \MVC\Model\Index;
require_once "../Model/index.php";
Index::test();//输出test#Model

通过上面代码的分析,我们可以看到。当使用命名空间时的声明具体到类时,我们使用Index::test()这种方式就可以调用相关类,是不是不楼痕迹,但是我们要注意这种时候要避免类名的重复,否则会报错。

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

PHP 相关文章推荐
COM in PHP (winows only)
Oct 09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
Mar 17 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
php格式化电话号码的方法
Apr 24 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 PHP
php语言的7种基本的排序方法
Dec 28 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP批量删除jQuery操作
Jul 23 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
PHP使用mongoclient简单操作mongodb数据库示例
Feb 08 PHP
php中的依赖注入实例详解
Aug 14 #PHP
php基于 swoole 实现的异步处理任务功能示例
Aug 13 #PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 #PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 #PHP
php实现的表单验证类完整示例
Aug 13 #PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 #PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 #PHP
You might like
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
怎样在UNIX系统下安装php3
2006/10/09 PHP
用PHP实现的随机广告显示代码
2007/06/14 PHP
让PHP支持页面回退的两种方法
2008/01/10 PHP
php生成随机数或者字符串的代码
2008/09/05 PHP
PHP 文章中的远程图片采集到本地的代码
2009/07/30 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
php调整服务器时间的方法
2015/04/03 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
JS 建立对象的方法
2007/04/21 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
使用vue构建多页面应用的示例
2020/10/22 Javascript
js实现筛选功能
2020/11/24 Javascript
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
利用python发送和接收邮件
2016/09/27 Python
python3实现表白神器
2019/04/09 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
详解anaconda安装步骤
2020/11/23 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
Order by的几种用法
2013/06/16 面试题
应届毕业生个人求职信范文
2014/01/29 职场文书
医药销售求职信范文
2014/02/01 职场文书
大学生就业自荐书
2014/06/16 职场文书
环保公益策划方案
2014/08/15 职场文书