PHP 命名空间与自动加载

32 篇文章 0 订阅

捣鼓这玩意真的是,夭寿啦,自己写程序,原生的PHP代码,没有借助框架,结果框架用久了,原本懂得namespacerequire的,可是在框架中实在用的太顺手了,到了离开框架,以为用了namespace,就会自动加载进项目中,结果自然是呵呵。

在百度后找到了一个自动加载的代码:

// 这里的BASEDIR是根据你的项目路径设置的
define("BASEDIR","/var/www/EasyTalk");
//自 PHP 5.3.0 起可以使用一个匿名函数
spl_autoload_register(function ($className) {
        require str_replace('\\', DIRECTORY_SEPARATOR, BASEDIR.'/'.$className.'.class.php');
});

这段代码的作用就是根据namespace下对应的$className,替换成:require namespace/$className.class.php,其中$className.class.php表示的是文件名,由于现在很多第三方扩展函数都是这样的命名习惯,所以这里也这样设置了。把这段代码放在你需要自动加载其他类的代码中,他就会像机器人一样去自动require你的类了。

还有,特殊的类特殊对待,如果有调用不到的,那么你就要需要额外想办法了,加油吧,骚年。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值