我使用这些功能自动加载我的过滤器类文件夹:
set_include_path(implode(PATH_SEPARATOR, BASE_PATH.'/protected/core/filter'));
spl_autoload_register();
在filter文件夹中包含以下文件:
-CFilter.php
-CFilterChain.php
-CFilerChainImp.php
-CTTMvcFilter.php
CFilterChain是一个接口,CFilterChainImp实现了它。 CFilter是一个接口,CTTMvcFilter实现了它。 问题是,如果我在Windows上的XAMPP中运行代码,这将自动加载。但是不能在Linux上运行,比如Ubuntu 14.04。 它将在CFilterChain之前加载CFilterChainImp,或者在接口之前加载类。所以它会说CFilterChain接口或CFilter接口没有找到,因为它在类CFilerChainImp和CTTMvcFilter之后加载。 我怎样才能自动加载它们,但首先是接口,然后是类。
非常感谢你!
更新:我之前遇到过错字错误,我已经编辑了问题以使其正确。
答案 0 :(得分:2)
CFIlter.php
这应该是CFIlter.php
还是CFilter.php
? (I
上的大写不同。)如果文件名的大小写与类名不匹配,则它不能在Linux上加载,因为Linux区分大小写,而Windows不是。