我刚刚开始构建我自己的MVC框架。感觉很高兴从头开始了解所有内容,只获得我的应用程序真正需要的东西。
我来自一个codeIgniter背景,它帮助我进入了MVC的视角。在codeigniter中,要包含文件,请使用codeIgniters very own load class。
此加载类在加载文件时会检查以前是否包含过文件,如果不包含该文件,则会确保文件不包含两次。
然而,这种包含文件的方法有一个缺点,就是不可能(?)在我的文件上运行测试或利用我需要的IDE中的PHPdoc。
显然,我可以使用正常的include
& PHP中的require
函数在我的应用程序中向前和向后转发,其中需要某个库,但显然不太可能包含两次相同的文件...
那么 - 在我自己的PHP5 MVC框架中使用什么是一个很好的解决方案来包含文件?
答案 0 :(得分:2)
只需使用include_once
和require_once
即可。 CI具有负载等级,您无需使用它。
答案 1 :(得分:2)
我正在做类似的事情,我正在使用autoload。
把它放在index.php中:
function __autoload($class_name) {
include $class_name . '.php';
}
或包含检查多个目录所需的任何逻辑。
编辑:这是用于检查备用路径的我(稍微片段)的代码。如果你需要检查多条路径,它可以更干净地完成。
function __autoload($class_name) {
$path = INC_PATH . strtolower($class_name) . '.php';
if (!file_exists($path)) {
$path = MODELS_PATH . strtolower($class_name) . '.php';
}
require $path;
}
答案 2 :(得分:2)
使用include_once / require_once,但最好的解决方案是使用自动加载器
你使用什么IDE?答案 3 :(得分:1)
一般来说,php有内置include_once
,正如名称所示,包含文件,但只有一次。
或者您可以使用大多数IDE支持的autoloading(虽然有些需要一些提示 - 取决于您使用的IDE)。