Php 在应用程序核心&x27中加载类;s代码点火器2中的子文件夹
在我的Php 在应用程序核心&x27中加载类;s代码点火器2中的子文件夹,php,codeigniter-2,hmvc,Php,Codeigniter 2,Hmvc,在我的application/core目录中,我有classmy_Controller。 现在,我想在两个路径中创建两个类application/core/front/Frontend_Controller.php和application/core/Backend/Backend_Controller.php。然后,我的模块控制器从前端控制器和后端控制器类扩展而来。 但CI总是引发类未找到错误 编辑2014年3月20日: 我使用了@manix的建议: 1.在/application/confi
application/core
目录中,我有classmy_Controller
。
现在,我想在两个路径中创建两个类application/core/front/Frontend_Controller.php
和application/core/Backend/Backend_Controller.php
。然后,我的模块控制器从前端控制器和后端控制器类扩展而来。
但CI总是引发类未找到错误
编辑2014年3月20日: 我使用了@manix的建议: 1.在
/application/config/config.php
function __autoload($class)
{
if (strpos($class, 'CI_') !== 0)
{
if (file_exists($file = APPPATH . 'core/Frontend/' . $class . EXT))
{
include $file;
}
if (file_exists($file = APPPATH . 'core/Backend/' . $class . EXT))
{
include $file;
}
}
}
/application/core/Backend/Backend\u Controller.php
如下:致命错误:在第6行的codeigniter\application\widgets\menu\Controllers\menu.php中找不到类“Backend\u Controller”。如果我把Backend_Controller.php放在/application/core/Backend_Controller.php
,就可以了。但我想把它放到一个子文件夹中
function __autoload($class) {
if (strpos($class, 'CI_') !== 0) {
if (file_exists($file = APPPATH . 'core/Frontent/' . $class . EXT)) {
include $file;
}
if (file_exists($file = APPPATH . 'core/Backend/' . $class . EXT)) {
include $file;
}
if (file_exists($file = APPPATH . 'core/' . $class . EXT)) {
include $file;
}
}
}
尝试显式调用在
application/config/
文件夹中引发的config.php文件末尾的\uu autoload
函数。请看上面的例子:
function __autoload($class)
{
if (strpos($class, 'CI_') !== 0)
{
if (file_exists($file = APPPATH . 'core/Frontent/' . $class . EXT))
{
include $file;
}
if (file_exists($file = APPPATH . 'core/Backend/' . $class . EXT))
{
include $file;
}
}
}
你试过application/core/Fronted_Controller.php吗?是的,我试过了,成功了。但我想把它放在core的子文件夹中。我编辑了这个问题。有关更多信息,请参见上文。谢谢,有些矛盾。1:您说过希望后端类位于
application/core/Backend/
子文件夹中。然后,您说然后收到此错误致命错误:在第6行的codeigniter\application\widgets\menu\Controllers\menu.php中找不到类“Backend\u Controller”。如果我将Backend_Controller.php放在/application/core/Backend_Controller.php,就可以了
。这告诉我我发布的代码是正确的,并且您正在将后端控制器放置在未知路径中,因为菜单类从后端控制器类扩展而来。如果我把后端控制器放在/application/core/it中,就可以了,不需要使用您的代码。我想把它放在/application/core/Backend/中。后端控制器和前端控制器仍然是从某个类扩展而来的。我从你的代码中得到了一些更新。谢谢你的帮助,我的朋友!
function __autoload($class)
{
if (strpos($class, 'CI_') !== 0)
{
if (file_exists($file = APPPATH . 'core/Frontent/' . $class . EXT))
{
include $file;
}
if (file_exists($file = APPPATH . 'core/Backend/' . $class . EXT))
{
include $file;
}
}
}