CodeIgniter(3.1.4)框架中设置多级目录

Posted Archibald Witwicky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeIgniter(3.1.4)框架中设置多级目录相关的知识,希望对你有一定的参考价值。

创建的目录结构:

 

如果是以上这种目录分布结构,则在controller文件夹下没有相应的控制器文件。如果在浏览器中直接使用 【http://localhost】则找不到相应的控制器。

 

必须进行以下设置:

第一:修改代码:

/**
 * 3.1.4 原始代码 - [system/Router.php] - _set_default_controller();
 */
// if ( ! file_exists(APPPATH.\'controllers/\'.$this->directory.ucfirst($class).\'.php\'))
// {
// 	// This will trigger 404 later
// 	return;
// }

/**
 * 3.1.4 修复代码 - [system/Router.php] - _set_default_controller();
 *
 * 修复 - 不能将默认控制器放在子目录中
 */
if ( ! file_exists(APPPATH . \'controllers/\' . $this->directory . ucfirst($class) . \'.php\'))
{
    $path_arr = explode(\'/\', trim($this->default_controller, \'/\'));

    $class = ucfirst($path_arr[1]);
    $method = isset($path_arr[2]) ? $path_arr[2]: \'index\';

    if (file_exists(APPPATH . \'controllers/\' . $this->directory . $path_arr[0]. \'/\' . $class . \'.php\'))
    {
        $this->directory .= $path_arr[0]. \'/\';
    }
}

  

第二:修改application/config/route.php文件中的默认控制器。

 控制器中的方法:

* 可以调用控制器中的任意方法。

 

 

最后:进行调用:

 

 

 修复后,可以默认调用子文件夹中的控制器。

 

以上是关于CodeIgniter(3.1.4)框架中设置多级目录的主要内容,如果未能解决你的问题,请参考以下文章

在 CodeIgniter 4.0.2 中设置动态基本 URL

为啥我们要在 CodeIgniter 中设置 $system_path?

在reactjs中设置嵌套元素的状态,多级数组[重复]

在 Codeigniter 中设置表单的“名称”属性

word中设置多级标题

word中设置多级标题