[namespace]PHP命名空间的使用基础
--------------------------------------------------------------------------------------------------
一. PHP的命名空间主要解决三种冲突的问题:常量,函数,类
通俗理解:namespace就相当于是用来建一个目录,将namespace下面的代码放在该目录里面,与外面的区分开来。
/*
|---------------------------------
|namespace示例
|@黑眼诗人 <www.farwish.com>
|---------------------------------
*/
namespace myself; function var_dump()
{
echo 100;
} var_dump(); //调用自定义函数(相对路径方式) \myself\var_dump(); //调用自定义函数(绝对路径方式) \var_dump(100); //调用全局的(系统的函数)
注意:namespace 之前不能有任何代码,除了declare();多个文件可以使用同一个命名空间,但同一命名空间下定义的内容是不能冲突的。namespace支持子命名空间,如:namespace \myself\good,相当于多级目录的概念。
二. 同一文件中存在多个命名空间的情况
1.
/**
* 同一文件中若使用了多个命名空间,一般写法
*/
namespace nihao\shijie;
function demo()
{
//.......
}
namespace hello\world; function test()
{
//........
} \nihao\shijie\demo();
\hello\world\test();
2.
/**
* 同一文件中若使用了多个命名空间,建议大括号扩起来
*/
namespace nihao\shijie{
function test_one()
{
//......
};
} namespace hello\world{
function test_two()
{
//........
}
} \nihao\shijie\test_one(); \hello\world\test_two();
同一文件内使用多个命名空间,主要用于项目将多个PHP脚本合并在同一文件中,实际中不提倡使用!
三. 名称解析规则(几个概念)
1.非限定名称:名称中不包含命名空间分割符,如:myself
2.限定名称:名称中含有命名空间分割符,如:nihao\shijie
3.完全限定名称:名称中包含分割符,并以命名空间分割符开始,如:\nihao\shijie (即绝对路径的概念)
Link: http://www.cnblogs.com/farwish/p/3913663.html
@黑眼诗人 <www.farwish.com>
[namespace]PHP命名空间的使用基础的更多相关文章
- [namespace]PHP命名空间的动态访问 & 使用技巧
----------------------------------------------------------------------------------------------- /* | ...
- 使用XLinq.XElement读取带Namespace(命名空间)的XML
简介 本文主要介绍通过XELemet去读取含有namespaces(xmlns)的XML,这也是偶然间发现这个问题的,一个群里的小伙伴突然问起这个,以此记录一下. 背景 一个XML文档可能包括来自多个 ...
- Django 中 app_name (应用命名空间) 和 namespace (实例命名空间) 的区别
转自:https://www.jianshu.com/p/404500a0408a 补充理解: 先把官网上对应用命名空间(app_name)和实例命名空间(namespace)的解释贴上: app_n ...
- php namespace use 命名空间
也可以参考PHP官网说明:http://php.net/manual/en/language.namespaces.importing.php namespace(以下简称ns).在定义了一个ns之后 ...
- C++笔记008:C++对C的扩展——命名空间 namespace基础
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一, 命名空间的意义 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 我认识两位叫“A”的朋友,一 ...
- PHP 命名空间(namespace)
PHP 命名空间(namespace) PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物. 不过在PHP当中还是有着相当重要的意义 ...
- c++之命名空间namespace
1命名空间解决全局变量的冲突 main.h文件 #pragma once // data命名空间的名称 namespace data { ;//外部全局变量冲突 } main.cpp #include ...
- c++ namespace命名空间详解
What is a namespace? A namespace defines an area of code in which all identifiers are guaranteed to ...
- 02C++namespace命名空间
一.C++命名空间基本常识 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的namespace中. 1.<iostream>和&l ...
随机推荐
- video兼容--可用
兼容ie6,7,8,但是播放器会卡顿黑屏<!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 插入排序(直接插入、折半、Shell)
直接插入排序(顺序插入排序) 基本思想: 排序过程,整个排序过程为n-1趟插入,即先将序列中的第1个元素看成是一个有序子序列,然后从第2个元素开始,逐个进行插入,直至整个序列有序. 在有序序列中插入一 ...
- uva-565-枚举
16个披萨配料,选出一种组合满足所有人的需求,当然,如果某个人不喜欢A,结果里不包含A也是满足这个人的.只要答案满足题意既可,答案不唯一,special judge 用位枚举 #include < ...
- linux上常见的压缩解压缩的命令
压缩 tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.ta ...
- SD-WAN供应商列表
SD-WAN的一个重要思想是,可以使用任何类型的多个物理WAN链路来承载流量,而无需网络工程师进行大量工程设计.相反,SD-WAN解决方案在物理基础设施之上运行覆盖(隧道),抽象出实际链接. SD-W ...
- 【3-28】javascript简介及语法
一.简介 (一)定义:JavaScript是一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,需有宿主文件:html文件. (二)作用:1.进行数据运算 2.对浏览器事件作出响 ...
- 零配置使用springboot
1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- PropertiesUtils
package com.icil.elsa.subscribe.milestone.common.utils; import java.io.BufferedInputStream; import j ...
- centos7.5安装golang
1.下载 [root@localhost bin]#wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz [root@localhost ...
- RAD Tokyo 10.2.2
TDialogService类 如果您是使用比较新的RAD Studio版本. 那么您应该开始改用FMX.DialogService程序单元中TDialogService类别的类别方法来取代以前的Me ...