捣鼓这玩意真的是,夭寿啦,自己写程序,原生的PHP代码,没有借助框架,结果框架用久了,原本懂得namespace
和require
的,可是在框架中实在用的太顺手了,到了离开框架,以为用了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
你的类了。
还有,特殊的类特殊对待,如果有调用不到的,那么你就要需要额外想办法了,加油吧,骚年。