php 命名空间

看了几次命名空间,还是有点半知半解,只好在实践的项目中加深对namespace的应用了.

学习namespace,先了解namespace的名称定义

1.非限定名称 :不包含命名空间分隔符的名称     例如: boo; 

2.限定名称:包含命名空间分隔符的名称      例如:foo\boo; 

3.完全限定名称:以命名空间分隔符开头的名称(表示全局空间的类,非命名空间的类)   例如:\foo\boo; 

 

接着了解namespace的命名规则

1.定义namespace之前不能写入任何代码,除了<?php;

2.命名空间就是在文件中开辟了新的文件系统,你可以再文件中定义你想要的布局方式;

3.定义命名空间:

1 <?php
2 namespace  hello\world\baby\love;
3 use hello\world\baby\love as love;   //使用use可以简化namespace的名称;
4 function tell()
5 {
6 echo "lovely baby";
7 }
8 
9 love\tell();

4.常量__NAMESPACE__的值是包含当前命名空间名称的字符串;
5.关键字namespace可用来显示访问当前命名空间或子命名空间的元素:

1 <?php
2 namespace my;
3 
4 function Exception()
5 {
6 }
7 
8 namaspace\Exception();    //calls function my\Exception

 

最后说下namespace的作用(解决两类问题)

1.用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突;

2.为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。

posted @ 2014-06-18 18:11  fendor  阅读(176)  评论(0编辑  收藏  举报