我有一个关于在codeigniter中设置路由规则的问题。 在带有框架的文档中包含的基本欢迎教程中,默认路由是
$route['default_controller'] = "welcome";
即,类名为“welcome”的文件位于controller文件夹中,welcome_view.php位于视图中。但是如果我在控制器文件夹中创建一个新文件夹并将其命名为Welcome,那么将welcome.php移动到它?然后我在视图中做同样的事情(创建一个名为Welcome_view的文件夹,然后将welcome_view.php移入其中)。 default_controller的路由是什么?非常感谢你。
答案 0 :(得分:1)
实际上,您可以在控制器文件夹中添加文件夹。 CodeIgniter Documentation中介绍了这一点。
您可以将路线更改为:$route['default_controller'] = "Welcome/welcome";
如果您选择遵循视图的相同约定,这是可以的,但这不是必需的。您仍然可以使用以下命令将视图保留在其中:
$this->load->view('welcome');
否则,如果您遵循相同的约定和子文件夹,则可以调用:
$this->load->view('welcome/welcome');
答案 1 :(得分:0)
在这种情况下(欢迎文件夹中的welcome.php),路线将是:
$route['default_controller'] = "welcome/welcome";
CI尝试将路由映射为folder[/subfolders]
,如果最初与常规模式控制器/方法不匹配,则在抛出show_404()错误之前。
上面的路由将调用welcome文件夹中Welcome类的index()方法,假设你当然没有直接在controllers文件夹中的欢迎类。
同样适用于视图:如果要映射到子文件夹中的视图,可以使用以下命令调用它:
$this->load->view('welcome/welcome');
获取views/welcome/
文件夹中的welcome.php文件。