【发布时间】:2016-07-06 15:34:08
【问题描述】:
我一直在使用 codeigniter 做得很好,但现在我遇到了一些障碍。我不想将所有内容都放在一个控制器文件中,而是想将其重新分配到子文件夹中的许多文件中。例如:
localhost/folderA/folderB/controllerFile
这样,文件夹 B 替换了控制器的主文件,所有文件都可以分散在这个新文件夹中,因为单个文件中不需要有 10 个不同的控制器功能(让它变得很大)。
在路线中我添加了一条新线
$route['folderA/folderB/(:any)/'] = 'folderA/folderB';
我什至认为没有必要添加路由,但它不起作用,无论如何总是得到一个 404 页面。现在,如果我通过文件夹将其带回,控制器的相同代码可以很好地工作。这意味着 /folderA/folderB/controllerFile 可以在 /folderA/controllerFile 中无忧无虑地工作。
我的目标不是将这些文件移到一个目录中,而是保持结构与以前相同。有没有人因为这样的事情而生气?我想是这样的......大声笑
感谢阅读!
编辑:为了澄清,这是发生了什么:
/application/controllers/file.php (OK)
/application/controllers/folderA/file.php (OK)
/application/controllers/folderA/folderB/file.php (This does not work)
我可以做 /application/controllers/folderA/file.php 并在其中包含所有功能,因此它的工作方式如下:
localhost/folderA/file
localhost/folderA/file/functionb
localhost/folderA/file/functionc
但是当使用子子目录可以完成相同的结果时,这会使文件变得不必要地大。有意义吗?
【问题讨论】:
-
As per the documentation,只要所有控制器和包含控制器的子目录都在
controllers目录中,您就可以拥有子目录。或者,使用routes配置文件,您可以构建 URL,使其看起来像您需要的任何内容。
标签: php codeigniter