thinkPHP5 命名空间详细解析

广义上说。命名空间是一种封装事物的方法。

例子,在操作系统中目录用来将相关文件分组,对于目录中的文件,就扮演着命名空间的角色。。。

具体解释:文件foot.txt可以同时在目录/home/greg和home/other中存在,但是同一目录中不能存在两个foo.txt文件。另外在目录/home/greg外访问foo.txt文件时,我们必须将目录名以及目录分隔符放在文件名之前得到/home/grag/foot.txt。

<?php
namespace jiangsu;
function ceshi()
{
    echo "1111";
}

ceshi();//非限定名称 
namespace xuzhou;
function ceshi()
{
    echo "hello world";
}

//jiangsu\ceshi();//限定名称访问方式

\jiangsu\ceshi();//完全限定名称访问(绝对路径)

 

1.命名空间只对类,函数,常量起作用

2.第一个命名空间前面不可以有任何有效代码

3.命名空间是虚拟抽象的空间,不是真的存在的目录

子空间的声明 (主|子)

子空间的声明 (主|子)
namespace jiangsu\xuzhou;
function ceshi()
{
    echo 111;
}

namespace jiangsu\pizhou;
function ceshi()
{
    echo 222;
}

namespace jiangsu\daizhuang;
function ceshi()
{
    echo 333;
}

function ceshi2()
{
    echo 322;
}

//类
class  People
{
    static $name = '戴庄人';
}

namespace jiangsu\huangshi;
function ceshi()
{
    echo 444;
}

访问 完全限定名称
\jiangsu\pizhou\ceshi();

 

空间的引入

空间的引入
use  jiangsu\daizhuang\People;//引入的一个元素
echo People::$name;//访问静态的
先去本空间找,然后再去
use  jiangsu\daizhuang;//引入空间
daizhuang\ceshi2();
echo daizhuang\People::$name;

 

别名

use  jiangsu\daizhuang\People as pe;
echo pe::$name;

 

公共空间

namespace zhongguo\jiangsu;
function ceshi()
{
    echo '江苏';
}

include('./ggkj.php');//公共的命名空间 未指定命名空间
namespace zhongguo\xuzhou;
function ceshi()
{
    echo '徐州';
}

class  Pepole
{
    static $name = "徐州人";
}

\ceshi();//访问公共命名空间

//引入的内容有命名空间,本身没有命名空间。直接访问公共空间的元素
//存在命名空间,最上面一行,只能写命名空间。namespace

 

 

转载于:https://my.oschina.net/TAOH/blog/813808

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值