CakePHP - Element Overkill

4

Durante l'implementazione di un portale di giochi in flash ho deciso di "modulare" le mie opinioni. Gli elementi ripetitivi non erano un gioco da ragazzi e i modelli per questi elementi erano collocati in elementi. Trasmetto i dati dal controller all'elemento tramite la vista utilizzando l'helper Html.

Funziona tutto bene, e ad eccezione di un sottoinsieme molto ristretto di elementi, non ho avuto troppi problemi con la logica complicata nella visualizzazione per poter massaggiare i parametri - in altre parole sono stati completamente pass-through e quindi molto trasparente per gli elementi.

Qui sta il mio problema. Mi rendo conto che ho oltre 20 elementi che eclissano di gran lunga le mie misere viste 8-10 e 3 controller. Ho anche avuto l'impulso di trasformare quasi tutto in un "componente" e convertirlo in un elemento. Ad esempio, ho un controllo di valutazione che viene utilizzato su una sola pagina, la pagina di gioco, e di recente ho pensato di convertirlo in un elemento. Mi chiedo se sono andato fuori bordo a questo punto.

Quindi, in sintesi, la mia domanda si riduce a quali sono le migliori pratiche quando si utilizza l'helper CakePHP Html e ciò che rende un pezzo di html un candidato per un elemento (oltre all'ovvio di scriverlo solo una volta). Ho letto il manuale di cakePHP e fornisce linee guida "approssimative", ma cerco un po 'di "livello di campo" o esperienza del mondo reale per gestire le mie decisioni.

TIA

    
posta Scott Mc 17.07.2011 - 21:00
fonte

2 risposte

1

Penso che tu abbia ragione a portarlo al livello micro, anche con un elemento che viene usato solo su una singola pagina. È un ottimo modo per tenere tutto molto compartimentato.

Uso CodeIgniter prevalentemente ma ho trovato che la stessa pratica è molto utile. Immagina di voler modificare il controllo del rating ... basta duplicare l'elemento, rinominarlo, modificarlo e fare riferimento al nuovo elemento.

È molto pulito!

    
risposta data 09.08.2011 - 23:03
fonte
2

Sei sulla strada giusta. Normalmente vorrai utilizzare un elemento per ripulire un codice e ridurre la quantità di HTML o per creare un segmento di codice riutilizzabile.

Immagino che tu stia usando CakePHP3, che ha anche le celle di visualizzazione. Le celle di visualizzazione sono essenzialmente un elemento con un mini-controller. Ciò contribuirà anche a ridurre il codice all'interno dei controller principali e consentirà il riutilizzo delle celle.

Secondo la mia esperienza, se non c'è una logica richiesta, un elemento è la strada da percorrere, quando è richiesta la logica, io uso le celle.

Puoi saperne di più sulla differenza nel manuale di CakePHP. Ho incluso due riferimenti, uno per Elements e uno per Cell.

Elementi: link

Celle: link

    
risposta data 11.09.2015 - 22:31
fonte

Leggi altre domande sui tag