2013-07-27 7 views
7

コードイグナイターを使っていくつかの基本的なWebアプリケーションを作成しようとしていますが、対応するモデルからデータを取得するコントローラメソッドを呼び出す要素がたくさんあります。これらのメソッドの名前を付ける最も良い方法を考え出します。codeigniterでコントローラーとモデルの名前を付ける最も良い方法

たとえば、私は自分のサイトのすべてのユーザーをつかみたいとします。私のコントローラにはget_users()という名前のメソッドがあり、そのメソッドはfetch_users()という名前のモデルでメソッドをロードして呼び出すと、データベースからユーザーを取得し、result_arrayをコントローラに返し、次にそこからビュー。

これは(fetch_usersという名前のまた別の関数を()を呼び出すGET_USERS()を呼び出す)少し冗長だ

私はちょうどこれはアクションのこの種を行うための唯一の方法であるかどうかを知りたい、またはがある場合それを行う別の "クリーナー"の方法。

希望はこれが理にかなっています。

ありがとうございます!

答えて

11

私はより明確にするために、より多くのコードを分離したいと思います。例えば

:名前Usersとを有するとともに USERS

Iクレートつのコントローラクラス:

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 

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) 

I名前Users_model持つとすると、ワンモデルを作成このフォームでは、私は(ブログ、投稿、コメントなど)。

親愛なる
+0

非常に素晴らしい、私はあなたが両方に()を削除していることがわかり、それは機能の重複を書き込むことができます? –

+1

はい、できます。最初の削除はUsers(Controller)クラスにあるため、2番目の削除はUsers_model(Model)クラスにあります。同じ名前を使うことは問題ではありません!私のために –

+0

、私は "ユーザー"の代わりに "ユーザー"の名前を付けるかもしれません。私が思うSEOのランキングに影響するかもしれません。 –

1

あなたは、たとえば、各フォルダの家庭やインデックスと異なる名前として別のフォルダと名前で

をお使いのコントローラのすべてをあなたのコントローラ とモデル のそれぞれを配置しようと大規模なアプリケーションを構築しようとしている場合:

あなたはので、あなたのアプリケーションのコントローラ内 フォルダと名前の資産を、フォルダを作成し、この資産を内部よりも資産のコントローラを持っているが、コントローラ名を作成することが

class Home extends CI_Controller 
{ 
    function __construct() 
    { 
     parent::__construct(); 
    } 
} 
をhome.phpあなたが理解できるとする関数名を与え、各部分を分離する必要がありcrud_model

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

    } 

機能について:あなたはこのようなものを作成するのですか、あなたのモデルは、CRUDのモデルのために例えば を実行する操作の名前を使用する必要があるモデルのための

下線で たとえば、あなたはこのように書くのですかもユーザーの合計を取得する機能を持っている場合:

function get_total_users() 
{} 

or for users function 

function users() 
{ 

} 

for update, delete and insert the same way.