在同一个文件中定义多个命名空间
(PHP 5 >= 5.3.0, PHP 7)
也可以在同一个文件中定义多个命名空间。在同一个文件中定义多个命名空间有两种语法形式。
Example #1 定义多个命名空间,简单组合语法
<?php
namespace MyProject;const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }namespace AnotherProject;const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
?>
不建议使用这种语法在单个文件中定义多个命名空间。建议使用下面的大括号形式的语法。
Example #2 定义多个命名空间,大括号语法
<?php
namespace MyProject {const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
}namespace AnotherProject {const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
}
?>
在实际的编程实践中,非常不提倡在同一个文件中定义多个命名空间。这种方式的主要用于将多个 PHP 脚本合并在同一个文件中。
将全局的非命名空间中的代码与命名空间中的代码组合在一起,只能使用大括号形式的语法。全局代码必须用一个不带名称的 namespace 语句加上大括号括起来,例如:
Example #3 定义多个命名空间和不包含在命名空间中的代码
<?php
namespace MyProject {const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
}namespace { // global code
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>
除了开始的declare语句外,命名空间的括号外不得有任何PHP代码。
Example #4 定义多个命名空间和不包含在命名空间中的代码
<?php
declare(encoding='UTF-8');
namespace MyProject {const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
}namespace { // 全局代码
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>
在同一个文件中定义多个命名空间相关推荐
- 请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的。...
编译ASP.NET时,提示"请确保此代码文件中定义的类与"inherits"属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的.", ...
- 能否用痰盂盛饭——谈谈在头文件中定义外部变量
能否用痰盂盛饭--谈谈在头文件中定义外部变量 - garbageMan - 博客园 能否用痰盂盛饭--谈谈在头文件中定义外部变量 "能否用痰盂盛饭"并非是一个技术问题,而是一个哲学 ...
- mybatis在关联映射中,引入外部xml文件中定义的对象
2019独角兽企业重金招聘Python工程师标准>>> association标签 在mybatis中,关联映射是通过association标签实现的. Lottery2Rule对象 ...
- C++中头文件中定义的变量
1.在头文件.h中定义static变量,如: static int x;其实就等效于每个引用该头文件的源文件中,定义一个变量名为x的整型静态全局变量,每个文件中的x变量均属于本源文件,各文件中的互不相 ...
- c语言头文件中定义inline static相关函数的优劣
头文件中常见static inline函数,于是思考有可能遇到的问题,如头文件经常会被包含会不会产生很多副本?网上说法不一.于是自己验证.经过arm-none-eabi-gcc下测试后得出结论. in ...
- 编写一个头文件,头文件中定义一个宏cube(x)用于求一个数的平方
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p145 7.1.2 上级实训内容 [实现内容17]编写一个头文件,头文件中定义一个宏cube(x)用于 ...
- C++ 在一个cpp文件中使用另一个cpp文件中定义的函数
C++ 在一个cpp文件中 使用另一个cpp文件中定义的函数 建立一个console项目 头文件 cpp文件 main.cpp 建立一个console项目 以dev为例,在[文件][新建][项目],新 ...
- 请确保此代码文件中定义的类与“inherits”属性匹配.并且该类扩展的基类(例如 Page 或 UserControl)是正确...
遇到这个问题 特此记录一下 由于copy aspx页面 引起的 copy之后 类名实原来那个的跟 你现在的文件名不一样LoginAPI.aspx public partial class yu ...
- wordpress上传文件报错的解决方法(413 Request Entity Too Large、超过upload_max_filesize文件中定义的php.ini值)
报错:413 Request Entity Too Large 问题nginx是限制上传大小,解决方法如下: 打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/ngin ...
最新文章
- 在IOS开发中根据(id)sender获取UIButton的信息
- CSS 禁止文字选中
- 【数据竞赛】“达观杯”文本智能处理挑战赛4
- NYOJ 685 查找字符串 字典树
- 利用Linq在RadCombobox中输出分类后的数据
- 栈的应用——表达式求值(双栈)
- 韦氏评级:担心比特币近期价格走势的人都过于关注短期
- 【论文】 NLP中命名实体识别从机器学习到深度学习的代表性研究
- C++ Primer 学习笔记_98_特殊的工具和技术 --优化内存分配
- 新媒体活动策划方案要点
- 3月25日E盾网络验证最新修复一机一码E盾网络验证成品源码加密系统
- 写文献综述的28个要点
- 我的世界java版动作优化_我的世界动作优化模组
- linux虚拟机克隆mac地址冲突,虚拟机下linux迁移造成MAC地址异常处理办法(示例代码)...
- 网易 UI 自动化工具 Airtest
- 按键精灵制作自用游戏脚本所需的简单操作
- java拆分_Java 拆分 PDF 文档
- VR全景拍摄如何拍摄?如何使用拍摄器材?
- GPU显存占满利用率GPU-util奇低
- ICSharpCode.SharpZipLib压缩的文件不能解压的原因
热门文章
- 微生物组文献1采用FimH拮抗物选择性抑制尿路致病性大肠杆菌
- R语言进行dataframe数据内连接(Inner join):使用R原生方法、data.table、dplyr等方案
- R语言Kmeans聚类、抽取聚类簇:fpc包的kmeansruns函数通过Calinski-Harabasz准则和平均轮廓系数(ASW)为Kmeans选择最优的聚类K值、并与层次聚类的最优K值进行比较
- R语言ggplot2可视化绘制带有双y轴(double y axis)的分面图(facet、facet_grid)
- R语言dplyr包combine()函数实现数据拼接(concatenate)实战
- python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换
- tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
- linux的iso镜像机没有redis,在Linux系统上安装Redis【避坑篇】
- NGS的测序仪和相关技术时间轴 NGS相关数据库和项目时间轴
- java用for循环查询数据_使用for循环结果创建数据框