【问题标题】:Best way to name controllers and models in codeigniter在 codeigniter 中命名控制器和模型的最佳方法
【发布时间】:2013-07-27 23:28:14
【问题描述】:

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

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

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

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

希望这是有道理的。

谢谢!

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    我喜欢把更多的代码分开,更清楚。

    例如: 用户

    我创建了一个名为 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
    

    在这种形式中,我会处理其他事情,例如(博客、帖子、cmets 等)。

    【讨论】:

    • 非常好,我注意到你在两者中都有 delete(),是否可以编写重复的函数?
    • 是的,你可以做到。因为第一个删除是在类用户(控制器)中,第二个是在类 Users_model(模型)中。同名没问题!
    • 对我来说,我可能会命名为 "User" 而不是 "Users" 。我认为可能会影响 SEO 排名。
    • @user2358559,我不太擅长 SEO,也许你是对的。
    【解决方案2】:

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

    例如:

    您有一个资产控制器,因此在您的应用程序控制器中创建一个文件夹 文件夹并将其命名为资产,然后在此资产中创建一个控制器,命名为 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.
    

    【讨论】:

      猜你喜欢
      • 2011-05-30
      • 1970-01-01
      • 2011-03-06
      • 2012-04-08
      • 2014-03-09
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多