codeigniter的路由规则设置


routing rule setup for codeigniter

我有一个关于在codeigniter中设置路由规则的问题。在框架文档中包含的基本欢迎教程中,默认路由是

$route['default_controller'] = "welcome";

也就是说,类名为'welcome'的文件位于controller文件夹中,welcome_view.php位于视图中。但是,如果我在控制器文件夹中创建一个新文件夹并将其命名为Welcome,然后将Welcome.php移到它?然后我在视图中做同样的操作(创建一个名为Welcome_view的文件夹,然后将Welcome_view.php移到其中)。default_controller的路由是什么?非常感谢。

实际上,您可以在控制器文件夹中添加文件夹。CodeIgniter文档中对此进行了介绍。

您可以将路线更改为:$route['default_controller'] = "Welcome/welcome";

如果您选择对视图遵循相同的约定,这是可以的,但这不是必需的。你仍然可以将你的视图留在它所在的位置,使用加载它

$this->load->view('welcome');

否则,如果你遵循相同的约定并将其子文件夹取出,你会调用:

$this->load->view('welcome/welcome');

在这种情况下(welcome.php在welcome文件夹中),路由将是:

$route['default_controller'] = "welcome/welcome";

如果最初与常规模式控制器/方法不匹配,则CI会尝试将路由映射为folder[/subfolders],然后抛出show_404()错误
当然,上面的路由将在Welcome文件夹中的Welcome类上调用index()方法,假设您在controllers文件夹中没有直接的welcomeclass。

视图也是如此:如果你想映射到子文件夹中的视图,你可以用来调用它

$this->load->view('welcome/welcome');

其获取CCD_ 5文件夹内的welcome.php文件。