在codeigniter中命名控制器和模型的最佳方法

时间:2013-07-27 23:28:14

标签: php codeigniter

我正在尝试使用代码点火器制作一些基本的Web应用程序,我已经意识到我有很多元素调用控制器方法从相应的模型中获取数据,我试图找出命名这些方法的最佳方法它几乎做同样的事情。

举个例子,说我想抓住我网站上的所有用户。我在我的控制器中有一个名为get_users()的方法然后该方法将加载并调用我的模型中名为fetch_users()的方法,该方法将从数据库中获取用户并将result_array返回给控制器,然后从那里返回到视图。

这似乎有点多余(调用get_users()调用另一个名为fetch_users()的函数)

我只是想知道这是否是进行此类操作的唯一方法,或者是否有另一种“更清洁”的方法。

希望这是有道理的。

谢谢!

2 个答案:

答案 0 :(得分:12)

我想分开更多代码,更清楚。

例如: 的用户

我创建一个名为Users的控制器类,并使用:

function index() {} // (where show the list), 
function add() {} // (add one user)
function edit($user_id) {} // (edit one user)
function view($user_id) {} // (view one user)
function delete($user_id) {} // (delete one user)

我创建了一个名为Users_model且带有:

的模型
function get_list() {} // Get list of users
function get_one($user_id) {} // Get one user
function add() {} // add one user on db
function update($id, $data) {} // Update one user on db
function delete($id) {} // Delete one user on db

在这种形式中我会做其他事情,如(博客,帖子,评论等)。

答案 1 :(得分:1)

亲爱的,如果您要构建一个大型应用程序,请尝试放置每个控制器 和模型 在不同的文件夹中,将所有控制器命名为主页或索引,并为每个文件夹命名

例如:

您拥有资产控制器,因此在应用程序控制器中创建一个文件夹    文件夹并将其命名为资产,而不是在此资产内部创建一个控制器名称home.php

 class Home extends CI_Controller
 {
   function __construct()
   {
       parent::__construct();
   }
 }

对于模型,您应该使用模型执行的操作名称    例如,对于CRUD模型,请创建如下内容:crud_model

  class Crud_model extends CI_Model
  {
      function __construct()
      {
           parent::__construct();
      }

  }

对于函数,您应该提供可理解的函数名称,并将每个部分与下划线分开 例如,如果你有一个获得用户总数的函数,你可以这样写:

 function get_total_users()
 {}

 or for users function

 function users()
 {

 }

 for update, delete and insert the same way.