2013-07-27 78 views
7

我正在嘗試使用代碼點火器來製作一些基本的web應用程序,並且我已經意識到我有很多調用控制器方法的元素,這些方法從相應的模型中獲取數據,我試圖找出命名這些方法的最好方法,它們幾乎可以做同樣的事情。在codeigniter中命名控制器和模型的最佳方法

舉個例子,假設我想抓住我網站上的所有用戶。我將在我的控制器中有一個名爲get_users()的方法,然後該方法將加載並調用我的模型中名爲fetch_users()的方法,該方法將從數據庫中獲取用戶並將result_array返回給控制器,然後從那裏返回視圖。

這似乎有點多餘(呼叫get_users()的調用另一個函數命名fetch_users())

我只是想知道這是做這種行爲的唯一途徑,或者如果有另一種「更乾淨」的方式。

希望這是有道理的。

謝謝!

回答

11

我喜歡分離更多的代碼,更清晰。

例如: USERS

我箱與名稱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 

在這種形式下,我會處理其他事情,如(博客,帖子,評論等等)。

+0

很漂亮,我知道您已經刪除()兩種,是有可能寫的功能重複? –

+1

是的,你可以做。由於第一次刪除在類Users(Controller)中,因此第二次刪除在Users_model(Model)類中。使用相同的名稱不是問題! –

+0

對我來說,我可能會命名爲「用戶」而不是「用戶」。可能會影響我認爲的SEO排名。 –

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. 
相關問題