2013-07-27 13 views
7

Próbuję zrobić kilka podstawowych aplikacji internetowych za pomocą zapalnika kodu i zdałem sobie sprawę, że mam wiele elementów wywołujących metody kontrolera, które pobierają dane z odpowiedniego modelu i próbuję wymyślić najlepszy sposób nazywania tych metod, które w zasadzie robią to samo.Najlepszy sposób na nazwanie kontrolerów i modeli w codeigniter

Dla przykładu powiedzmy, że chcę pobrać wszystkich użytkowników w mojej witrynie. W moim kontrolerze miałbym metodę o nazwie get_users(), a następnie ta metoda ładowałaby i wywoływała metodę w moim modelu o nazwie fetch_users(), która pobierała użytkowników z bazy danych i zwracała tablicę wyników do kontrolera, a następnie stamtąd do widok.

To wydaje się nieco zbędny (wywołanie get_users(), która wywołuje jeszcze inną funkcję o nazwie fetch_users())

Chcę tylko wiedzieć, czy jest to jedyny sposób, aby zrobić ten rodzaj działania, lub jeśli istnieje inny "czystszy" sposób robienia tego.

Mam nadzieję, że to ma sens.

Dzięki!

Odpowiedz

11

Chciałbym oddzielić więcej kodu, aby było bardziej zrozumiałe.

Na przykład: UŻYTKOWNICY

I paka jedna klasa kontroler o nazwie Users iz:

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 utworzyć jeden model o nazwie Users_model iz:

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 

W tej formie robię z innymi rzeczami (blog, posty, komentarze) s itp.).

+0

bardzo ładne, zauważam, że delete() w obu, to jest możliwe, aby napisać duplikaty funkcji ? –

+1

Tak, możesz zrobić. Ponieważ pierwsze usuwanie znajduje się w klasie Użytkownicy (kontroler), drugie jest w klasie Users_model (Model). Nie ma problemu z używaniem tej samej nazwy! –

+0

dla mnie, mogę nazwać "Użytkownik" zamiast "Użytkownicy". Może mieć wpływ na ranking SEO, jak sądzę. –

1

Drogi jeśli masz zamiar zbudować duży aplikacja spróbować umieścić każdy z kontrolerów i modeli w różnych folderach i nazwy wszystkich sterowników jak dom lub indeksu oraz inną nazwą dla każdego foldery

na przykład :

masz sterownik do aktywów więc utworzyć folder wewnątrz aplikacji kontroler folder o nazwie aktywów i od wewnątrz tego aktywa utworzyć nazwę kontrolera to home.php

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

dla modeli należy użyć nazwy operacji, które twoje modele wykonywania na przykład dla modelu CRUD należy tworzyć coś takiego: crud_model

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

    } 

dla funkcji należy podać nazwy funkcji, które jest zrozumiałe i oddzielić część z podkreślenia na przykład, jeśli masz funkcję, która pobiera łącznie użytkownicy mogą pisać tak:

function get_total_users() 
{} 

or for users function 

function users() 
{ 

} 

for update, delete and insert the same way. 
Powiązane problemy