codeigniter的路由规则设置

时间:2012-02-08 06:18:23

标签: php codeigniter

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

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

即,类名为“welcome”的文件位于controller文件夹中,welcome_view.php位于视图中。但是如果我在控制器文件夹中创建一个新文件夹并将其命名为Welcome,那么将welcome.php移动到它?然后我在视图中做同样的事情(创建一个名为Welcome_view的文件夹,然后将welcome_view.php移入其中)。 default_controller的路由是什么?非常感谢你。

2 个答案:

答案 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文件。