2013-07-27 15 views
7

Sto provando a creare alcune applicazioni web di base usando l'accenditore di codice e ho capito che ho molti elementi che chiamano metodi di controller che acquisiscono dati dal modello corrispondente e sto provando a capire il modo migliore per nominare questi metodi che praticamente fanno la stessa cosa.Il modo migliore per nominare controller e modelli in codeigniter

Per un esempio, dire che voglio catturare tutti gli utenti sul mio sito. Avrei un metodo nel mio controller chiamato get_users() e poi quel metodo avrebbe caricato e chiamato un metodo nel mio modello chiamato fetch_users() che avrebbe catturato gli utenti dal database e restituito il risultato_array al controller e da lì al vista.

Questo sembra un po 'ridondante (Calling get_users(), che chiama ancora un altro fetch_users funzione denominata())

Voglio solo sapere se questo è l'unico modo per fare questo tipo di azione, o se c'è un altro modo "più pulito" di farlo.

Spero che questo abbia senso.

Grazie!

risposta

11

Mi piace separare più codice, per essere più chiaro.

Ad esempio: UTENTI

ho cassa una classe controller con nome Users e con:

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) 

creo un modello con il nome Users_model e con:

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 

In questo modulo lo faccio con altre cose come (Blog, post, commenti s ecc.)

+0

molto bello, ho notato che hai delete() in entrambi, è possibile scrivere i duplicati delle funzioni ? –

+1

Sì, puoi farlo. Poiché la prima eliminazione è nella classe Users (Controller), la seconda è nella classe Users_model (Model). Non è un problema usare lo stesso nome! –

+0

per me, potrei chiamare "Utente" invece di "Utenti". Potrebbe influire sulla classifica SEO credo. –

1

Caro, se avete intenzione di costruire una grande applicazione provare a mettere ogni controller e modelli in diverse cartelle e nome tutti i controller come a casa o di un indice e un nome diverso per ogni cartelle

per esempio :

si dispone di un controller per le attività in modo da creare una cartella all'interno delle applicazioni di controllo cartella e denominarla attività e che dentro questo patrimonio creano un nome del controller è home.php

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

per i modelli si dovrebbe usare il nome di operazioni che i vostri modelli esibiscono ad esempio per il modello CRUD non creare qualcosa di simile: crud_model

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

    } 

per le funzioni si dovrebbe dare i nomi delle funzioni che è comprensibile e separare ogni parte con sottolineature per esempio se si dispone di una funzione che riceve totale di utenti si può non scrivere in questo modo:

function get_total_users() 
{} 

or for users function 

function users() 
{ 

} 

for update, delete and insert the same way. 
Problemi correlati