2

我正在开始一个新项目,并希望把事情做好:

控制器:

文件名:routemanagerdashboard.php 类名:RouteManagerDashboard

浏览量:文件名:routemanagerdashboard_dashboard.php

型号:文件名:routemanagerdashboard_model

4

2 回答 2

4

这些命名约定非常好。尽管您必须遵循一些约定,但您对文件/类的命名主要取决于个人喜好。在使用 CodeIgniter 几年后,我已经确定了我的文件的以下命名约定。

控制器: company.php(复数文件和类名)

模型: company_model.php(它对应的表的单数)

视图: company/method_name.php(控制器的所有视图都进入该类视图的文件夹中)

我总是将我的数据库表名设为复数,并且我的模型和表之间存在一对一的关系。控制器通常具有相应的表和模型,但并非总是如此。我还使用了一个基本模型,它消除了为每个表设置一个新模型的繁琐工作,它非常适合这个设置,这可能是我非常严格地坚持它的一个重要原因。

于 2011-07-28T16:54:09.160 回答
2

这很好,但routemanagerdashboard似乎有点冗长,你可以考虑想出一些更短的东西。如果你喜欢控制器类名但讨厌长 url,你总是可以使用路由来绕过它。

由于我们正在处理 PHP,因此区分大小写不是问题,因此您的控制器类名没问题,只要它与文件名中的字符匹配即可。只需坚持小写文件名。

您的模型名称使用通用 CI 约定,但请注意,在加载模型时,您可以使用第二个参数为类名取别名以便于使用。例子:

$this->load->model('routemanagerdashboard_model', 'r_model');
$this->r_model->get_something(); // A little easier to work with

关于视图:最好为与控制器直接相关的所有视图创建一个子目录。每个控制器可能需要的不仅仅是一个视图文件。如果您将所有视图文件直接放在文件夹的根目录中,您将看到您的/views文件夹变得不可维护。我建议您使用子目录和简短的有意义的文件名,可能与您打算加载它们的控制器方法的名称相匹配。例如:

// file = /views/routemanager/dashboard.php
$this->load->view('routemanager/dashboard');

所以,是的 - 大多数情况下你都在做正确的事,但如果可能的话,想出更短的名称,并将你的视图文件组织到子目录中可能是一个好主意。

于 2011-07-28T16:49:55.503 回答