2011-02-01 26 views
0

私は電子メール/パスワードの組み合わせが正しいかどうかを確認するためにデータベースにアクセスするcodeigniterで私の認証ライブラリを持っています。ライブラリでモデルを使用する必要がありますか?

私はMVCの練習に固執している場合、データベースとやりとりする関数をモデルに移動する必要がありますか、それを将来使用できるようにそのまま残しておくのがベストプラクティスですか?

ライブラリに書き直してモデルに関数を作成しなければならないという事実以外には、それほど大きな違いはありませんが、それがそうでなければならないのです。

答えて

1

一般的には、データの処理やデータベースクエリの実行に関係するすべての機能がモデルに組み込まれていることが目安です。開発者によって異なる方法がありますが、MVCモデルを破ってデータベースコードをコントローラに入れてはいけないと思います。あなたは私が針と干し草の山を受け入れることができGETユーザー機能を持っている私のモデルに見ることができるようにhttps://github.com/Vheissu/WolfAuth-for-Codeigniter-2.0-

私は自分自身をフォークしすぎ/利用に貢献するために、誰のためにWolfAuthと呼ばれる認証ライブラリを開発してきました値。だから私は別の関数を呼び出すのではなく、異なるパラメータでこのモデル関数を呼び出すことによってIDでユーザーを取得したり、ユーザーをログインさせたりするために、ライブラリ内にさまざまな関数を書き込むことができます。

WolfAuthでは、すべての関数が異なる値を持つ関数get_usersを呼び出すことがわかります。別々の関数を書くのではなく、複数のデータを取り出すことができる1つの関数を持つことは、6つの関数ができるすべての関数を1つの関数が実行できるときよりもはるかにクリーンです。

あなたの質問に答えるには、データベース内のデータベースとやりとりする関数をモデルに書きますが、モデル関数を呼び出して値を返すライブラリ内の同じ関数をそのまま使用してください。

また、コードの断片を取って、私の認証ライブラリからアイデアを借りて、あなたのコードライブラリでアイデアを借用して、より良いコードを理解するのに役立ちます。

+0

私はメソッド名を同じに保つことについて少し気に入っています。ありがとう:) –

関連する問題