php命名空间namespace

学习thinkphp的小伙伴都知道在tp中,命名空间很重要,tp是很依赖命名空间的。在此,我就和大家分享下命名空间的简单知识点~
引用官方的话如下:
在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题:

用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性

简单的说就是:例如一个文件下不能出现两个相同名字的文件,php中也是。命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。
引入命名空间:
例子:有两个php文件:
a.php

// 这个是a.php文件下的源代码
<?
namespace a;
function demo(){
    echo "我是第一个文件下的demo方法,啦啦啦";
}
?>

b.php

// 这个是b.php文件下的源代码
<?
namespace b;
function demo(){
    echo "我是第二个文件下的demo方法,啦啦啦"
}
?>

在第三个文件中引入:

// 这个是c.php文件下的源代码
<?
require "a.php"
require "b.php"

a\demo();
b\demo();
?>

最后输出:
我是第一个文件下的demo方法,啦啦啦
我是第二个文件下的demo方法,啦啦啦

**命名可以任意定义,只要之前没有出现即可。
一般情况下,命名是与目录以及文件名一致。thinkphp也是如此。
在ThinkPHP5.0版本中,引入了惰性加载。
惰性加载:一个类只有在使用的时候才include(require)进来。
优点:减少内存占用,提高系统整体速度**

惰性加载用到了这个函数:spl_autoload_register
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值