php 关于namespace的一下总结
来源:互联网 发布:excel怎样做数据透视表 编辑:程序博客网 时间:2024/06/05 07:50
php的namespace已经推出很久了,但是一直没有机会用到,今天有时间详细看了一遍,为了巩固阅读效果小小的总结一下。
1 声明 namespace xx 例:namespace Foo;
1 声明 namespace xx 例:namespace Foo;
2 第一个namespace 声明之前不能有任何代码
3 可以是用namespace{}将声明中的内容包含起来 namespac Foo{}
4 一个文件中可以有多个namespace 声明
5 将全局的非命名空间代码和命名空间代码组合在一起的时候必须使用大括号形式,全局代码必须使用一个不带名称的namespace语法加大括号括起来。例
<?php
namespace pro1{
class foo{}
}
namespace {
globfun(){}
}
namespace pro2{
.....
}
6 在命名空间中 php 遇到类时总是解析到当前命名空间下的xx类。如果要使用php基础类或全局类必须使用全局限定名称“\” ,否则会抛出类名不存在的错误。
对于函数和常量来说,如果该命名空间内不存在该函数或常量,那么php会使用全局空间中的函数或常量。
例:
<?php
namespace A\B
class Exception extends \Exception {}
7 可以定义子命名空间。和目录类似命名空间包括相对路径形式和决定路径形式
<?php
namespace blog{
function create(){echo 'blog\creat';}//相对路径方式 被当做当前blog空间下的sub空间中的函数subcreate blog\subsub\subcreate();//绝对路径方式\blog\sub\subcreate();
}
namespace blog\sub{
//被认为是 当前blog\sub空间下的子空间。blog\create(); //undefined function blog\sub\blog\create()//正确方式 采用绝对路径形式\blog\create();function subcreate(){echo 'subcreate';}
}
7 常量__NAMESPACE__ 输出当前空间名称
在没有命名空间的地方使用返回空字符串“”
8 命名空间别名 use
php不支持导入函数和常量
支持对类名或命名空间
例:
<?php
use My\Full\Classname as Another;
//与 use My\Full\NSname as NSname 相同
use My\Full\NSname;
//导入全局类
use \ArrayObject;
例:
<?php
namespace blog{
//错误方式 use关键词不支持相对模式
use sub as subt;
//正确方式
use blog\sub as subt;
subt\subcreate();
}
namespace blog\sub{
function subcreate(){
echo 'subcreate';
}
}
10 php支持在一行中使用多个use语句
<?php
use My\Full\Classname as Another, My\Full\NSname;
0 0
- php 关于namespace的一下总结
- 关于Struts2的namespace的一些总结
- 关于struts2注解Namespace的问题总结
- PHP namespace的定义
- php namespace的使用方法
- 本人遇到的关于namespace的一点小问题总结
- 总结一下:php的基础学习
- php 总结一下遇到的问题
- 关于 extjs 的 namespace
- 关于 Extjs 的 namespace
- 关于c#的namespace
- 关于namespace的困惑
- 关于namespace的文件组织
- 关于namespace的文件组织
- 关于'`global namespace''的问题
- 关于'`global namespace''的困惑
- C# 关于namespace的细节
- 关于namespace的部分补充
- CSU 1354Distinct Subsequences 求不相同子序列的和 dp
- Best Practices for Speeding Up Your Web Site
- struts2.0升级到struts2.3.20
- <C/C++算法>九度OJ题目1201--1358解题练习(六)
- POJ2377 Bad Cowtractors【Kruskal】【求最大生成树】
- php 关于namespace的一下总结
- OneNet
- Web性能优化的十个技巧
- js去掉字符串前后空格
- VC位图的特效
- 2015年寒假集训专题--- 数据结构实验之栈:行编辑器
- JAVA学习笔记15——抽象类+接口
- 利用libpng中的函数读写png文件
- 条件化简(一)