Questo sito utilizza cookie anche di terze parti. Per avere maggiori informazioni e per negare il tuo consenso al l'utilizzo dei cookie clicca qui. Se prosegui la navigazione acconsenti all'utilizzo dei cookie.OK
  • salta al contenuto

Documentazione openDCN

Strumenti Utente

  • Entra

Strumenti Sito

  • Ultime modifiche
  • Informativa sui cookie
Ti trovi qui: start » convenzioni_in_cakephp

convenzioni_in_cakephp

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Both sides previous revision Previous revision
Next revision
Previous revision
convenzioni_in_cakephp [25/03/2010 18:39]
convenzioni_in_cakephp [05/06/2013 17:08] (versione attuale)
Linea 12: Linea 12:
 Tutte le tabelle con le quali CakePHP interagisce (con l'​eccezione di tabelle join), richiedono una singola chiave primaria per identificare ogni riga. Se desideri utilizzare una tabella che non ha un singolo campo come chiave primaria, come le righe della post_tags tabella join, la convenzione di CakePHP è che un singolo campo di chiave primaria è aggiunto alla tabella.\\ Tutte le tabelle con le quali CakePHP interagisce (con l'​eccezione di tabelle join), richiedono una singola chiave primaria per identificare ogni riga. Se desideri utilizzare una tabella che non ha un singolo campo come chiave primaria, come le righe della post_tags tabella join, la convenzione di CakePHP è che un singolo campo di chiave primaria è aggiunto alla tabella.\\
 CakePHP non supporta chiavi primarie complesse.\\ Nell'​evento in cui vuoi direttamente manipolare i dati joinando delle tabelle, bisogna utilizzare direttamente la chiamata query, o aggiungere un campo di chiave primaria per usarlo come un normale model. E.g.:\\ CakePHP non supporta chiavi primarie complesse.\\ Nell'​evento in cui vuoi direttamente manipolare i dati joinando delle tabelle, bisogna utilizzare direttamente la chiamata query, o aggiungere un campo di chiave primaria per usarlo come un normale model. E.g.:\\
 +\\
 CREATE TABLE posts_tags ( \\ CREATE TABLE posts_tags ( \\
 id INT(10) NOT NULL AUTO_INCREMENT,​\\ id INT(10) NOT NULL AUTO_INCREMENT,​\\
Linea 17: Linea 18:
 tag_id INT(10) NOT NULL,\\ tag_id INT(10) NOT NULL,\\
 PRIMARY KEY(id));\\ PRIMARY KEY(id));\\
 +\\
 +**Controller**\\
 +I nomi per le classi dei controlle sono plurali, CamelCased e finiscono in Controller, PeopleController e LatestArticlesController sono tutti esempi di nomi di controller che rispettano le convenzioni sui nomi.\\
 +La prima funzione che scrivete per un controller dovrebbe essere la funzione index(). \\
 +Quando una richiesta specifica un controller ma non una azione, il comportamento di default di CakePHP è quello di renderizzare la funzione index() del controller stesso. \\
 +Per esempio, una [[http://​www.example.com/​apples/​|richiesta]] mappa una chiamata alla funzione index() di ApplesController,​ mentre ​ mappa una chiamata alla funzione [[http://​www.example.com/​apples/​view/​|view()]] di ApplesController.\\
 +\\
 +Potete anche cambiare la visibilità delle funzioni in CakePHP precedendo il nome della funzione stessa con il carattere di sottolineatura. Se una funzione in un controller è preceduta da un carattere di sottolineatura,​ la funzione non sarà raggiungibile via-web, ma resterà comunque disponibile per uso interno.\\
 +\\
 +**View**\\
 +I file per i template delle View vengono denominati in accordo alle funzioni del controller che verranno mostrate nella forma underscored. La funzione getReady() della classe PeopleController cercherà il template per la vista in /​app/​views/​people/​get_ready.ctp.\\
 +Il pattern di base è /​app/​views/​controller/​underscored_function_name.ctp.\\
 +Denominando le parti della vostra applicazione utilizzando le convenzioni di CakePHP, otterrete delle funzionalità senza il fastidio e la necessità di mantenere file di configurazione.\\
 +\\
 +Qui è riportato un esempio finale che tiene conto delle convenzioni:​\\
 +    * Database table: "​people"​\\
 +    * Model class: "​Person"​’,​ si trova in /​app/​models/​person.php\\
 +    * Controller class: "​PeopleController",​ si trova in   /​app/​controllers/​people_controller.php\\
 +    * View template, si trova in /​app/​views/​people/​index.ctp\\
  
 +Utilizzando queste convenzioni,​ CakePHP conosce che una [[http://​example.com/​people/​|richiesta]] deve essere mappata ad una chiamata alla funzione index() del Controller PeopleController,​ dove il modello Person è automaticamente disponibile (ed automaticamente legato alla tabella '​people'​ del database) e renderizzata su un file. Nessuna di queste relazioni è stata configurata in alcun modo, a parte la creazione delle classi e dei file, che avreste dovuto creare ad ogni modo.\\ 
 +\\ 
 +\\ 
 +\\ 
 +\\ 
 +\\ 
 +[[architettura generale cakephp | indietro]] - [[smarty, le viste e opendcn | avanti]] 
 +\\ 
 +\\ 
 +\\
convenzioni_in_cakephp.1269538745.txt.gz · Ultima modifica: 05/06/2013 17:08 (modifica esterna)

Strumenti Pagina

  • Mostra pagina
  • Revisioni precedenti
  • Puntano qui
  • Torna su
Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è soggetto alla seguente licenza: CC Attribution-Noncommercial-Share Alike 3.0 Unported
CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki