Tutorial CakePHP per principianti: cos'è CakePHP Framework?
Riepilogo del tutorial di CakePHP
In questo tutorial di CakePHP impareremo da zero tutti i concetti di base. Questo tutorial copre la definizione di CakePHP, la cronologia, le funzionalità, la struttura e la configurazione delle cartelle e brevi dettagli su come funziona il framework CakePHP.
Cos'è CakePHP?
CakePHP è un framework open source per lo sviluppo rapido e la manutenzione di applicazioni web create in PHP. Si basa sul concetto di architettura MVC, che aiuta a creare applicazioni web PHP in modo semplice e facile con meno codice. CakePHP aiuta anche a separare la logica aziendale dal livello dati e dal livello di presentazione.
Perché utilizzare CakePHP Framework?
Ecco i principali vantaggi/pro dell'utilizzo del framework CakePHP:
- Cake PHP è di gran lunga una delle piattaforme di sviluppo web più veloci.
- CakePHP consente agli sviluppatori di ottenere un maggiore controllo sul database e sulle query SQL.
- Aiuta gli utenti a sviluppare applicazioni Web robuste senza perdere rapidamente la flessibilità dell'ambiente.
- Supporto per PostgreSQL, SQLite, MySQL, PEAR-DB per ADODB, una libreria di astrazione di database.
- Facilita gli URL ottimizzati per i motori di ricerca
- Fornire funzionalità come strumenti di convalida e sanificazione dell'input che rendono l'app sicura.
- Template con sintassi PHP familiare
Storia di CakePHP
Ora in questo tutorial di CakePHP tratteremo la storia del framework CakePHP:
Anno | Pietra miliare |
---|---|
2005 | CakePHP è stato sviluppato da Michal Tatarynowicz il 15 aprile 2005. |
2005 | CakePHP lo ha pubblicato sotto licenza MIT e lo ha aperto agli sviluppatori della comunità. |
2005 | Larry E Masters ha assunto il ruolo di sviluppatore principale. |
2006 | È stata rilasciata la versione 1.0 |
2011 | È stata rilasciata la versione 2 |
2014 | È stata rilasciata la versione 3 che annulla completamente le versioni precedenti. |
2016 | Versione 3.3.3. Of CakePHP viene rilasciato con molte funzionalità avanzate. |
2019 | La versione 3.7.9 è l'ultima versione rilasciata |
2021 | Il core team di CakePHP annuncia la disponibilità immediata di CakePHP 4.2.2 |
Caratteristiche di CakePHP
Ecco le caratteristiche importanti di CakePHP.
- Comunità attiva e amichevole
- Architettura MVC
- Convalida integrata
- Funziona da qualsiasi directory di sito Web, con parte o nessuna configurazione di Apache coinvolta.
- Motore di modelli
- Caching Operazioni
- Interazioni semplici con il database CRUD.
- Convalida integrata
- Componenti di Handlin come Email, Cookie, Sicurezza, Sessione e Richiesta
- Visualizza gli aiutanti per JavaCopione, Ajax, moduli HTML e altro ancora
CakePHP: struttura delle cartelle
Ora in questo tutorial sul framework CakePHP, impareremo la struttura delle cartelle di CakePHP.
Di seguito è riportata la struttura delle cartelle di CakePHP:
cartella | Descrizione |
---|---|
Test | Questa cartella contiene casi di test per la tua applicazione. |
tmp | La cartella temporanea memorizza i dati temporanei. |
Venditore | Questa cartella ti aiuta a memorizzare CakePHP e verranno installate altre dipendenze dell'applicazione. |
Webroot | Il Webroot memorizza tutti i file che desideri siano pubblicamente raggiungibili. |
Bidone | La cartella bin contiene gli eseguibili della console Cake. |
Registri | Contiene i file di registro, che dipendono dalla configurazione del registro. |
Config | La cartella config memorizza i file di configurazione utilizzati da CakePHP |
plugin | Questa cartella contiene i plugin per l'applicazione. è dove sono archiviati i plugin utilizzati dalla tua applicazione. |
src | Contiene un'attività della console e comandi per gestire l'applicazione.
Locale Memorizza file di stringhe per l'internazionalizzazione. Modello Contiene le tabelle, le entità e i comportamenti dell'applicazione. |
Configurazione di CakePHP
CakePHP viene fornito con un singolo file di configurazione per impostazione predefinita. Ti consente anche di modificarlo in base alle tue esigenze. C'è una cartella chiamata "config" fornita a questo scopo.
Nome variabile | Descrizione |
---|---|
Mettere a punto | Ti consente di modificare l'output di debug di CakePHP. |
Spazio dei nomi dell'app | Ti aiuta a trovare le classi dell'app in. |
App.baseUrl | Togli il commento da questa parola chiave se non vuoi utilizzare mod_rewrite di Apache con CakePHP. |
Codifica app | Questo comando ti consente di definire quale codifica utilizza la tua applicazione. |
App.base | È una directory di base in cui risiede l'app. Se false, verrà rilevata automaticamente. |
App.fullBaseUrl | Nome di dominio qualificato |
App.webroot | È una directory webroot. |
App.wwwRoot | Il percorso del file webroot. |
App.jsBaseUrl | Percorso della directory js pubblica. |
Percorsi.app | Configura percorsi per risorse non basate su classi. |
App.cssBaseUrl | È un percorso web alla directory css pubblica sotto webroot. |
Sale.di.sicurezza | È una stringa casuale utilizzata nell'hashing. |
Asset.timestamp | Questa variabile ti consente di aggiungere un timestamp quando usi gli helper appropriati. |
Cake: convenzioni di denominazione PHP
Cake segue l'idea della convenzione piuttosto che della configurazione. Il metodo della convenzione di denominazione consente di organizzare il funzionamento dell'applicazione web. In questo metodo, più di una parola nel nome deve essere separata da "_" quando si nomina il file e i casi camel quando si nomina la classe.
Le parti MVC devono seguire la sintassi indicata di seguito:
Nome del file | Nome della classe | Nome della classe base | Posizione | |
---|---|---|---|---|
Modello | Nome del file Forma singolare del nome della tabella con estensione .php es: order.php |
Il nome del file in un caso Camel, ad esempio: Order | Modello di app | /app/modelli |
Controller | tablename_controller con estensione .php, es: ordcrs_controllcr.php | Il nome della tabella aggiunto Controller, ad esempio: OrdcrsController | Controllore di app | /app/controller |
Visualizza | Il nome dell'azione nel controller con estensione .ctp, ad esempio: add.ctp | Niente classi; a visualizzare c tag HTML e PHP. ' | /app/vuews/nome del controller |
Configurazione dei database
CakePHP ti consente di configurare il database in config/app.php file. Fornisce una connessione predefinita con i parametri forniti che puoi modificare a tua scelta.
Di seguito sono riportati i parametri importanti:
Banca Dati | Nome della banca dati |
---|---|
porto (facoltativo) codifica |
La porta TCP o il socket Unix utilizzato per connettersi al server. |
Fuso orario | Fuso orario del server da impostare. |
Schema | Ti aiuta a specificare quale schema puoi utilizzare. |
unix_socket | Questo database viene utilizzato dai conducenti per connettersi tramite file socket Unix. |
Chiave SSL | È un percorso del file della chiave SSL. |
ssl_cert | È un percorso del file del certificato SSL. |
ssl_ca | È un percorso di file all'autorità di certificazione SSL. |
Log | Questo termine ti aiuta a eseguire la registrazione delle query. |
Dentro | Un elenco di query che devono essere inviate al server del database ogni volta che viene creata la connessione. |
Imposta su true se desideri utilizzare parole riservate o caratteri speciali |
Come funziona MVC in CakePHP?
Ora impareremo come funziona MVC in CakePHP in questo tutorial sul framework CakePHP.
È un modo dinamico per costruire il meccanismo principale di un'applicazione web. Il modello, la vista e il Controller si separano a vicenda.
Cake PHP divide le operazioni in tre parti:
- Modelli: utilizzati per tutte le interazioni del database.
- Viste: utilizzate per tutti gli output e le visualizzazioni.
- Controller: utilizzati per controllare il flusso dell'applicazione
Ecco i passaggi per utilizzare l'architettura MVC in CakePHP:
Passo 1) Il client o l'utente interagisce con la vista
Passo 2) Visualizza gli avvisi del controller dell'evento specifico.
Passo 3) Invia una richiesta di database al Modello e il Controller aggiorna il modello.
Passo 4) Il modello avvisa che è cambiato.
Passo 5) La vista riceve i dati del modello e si aggiorna in base ai dati ricevuti.
Perché usare MVC?
- CakePHP MVC ti aiuta a separare la logica aziendale dalla presentazione e dal recupero dei dati.
- Un sito è suddiviso in sezioni logiche che puoi governare con uno specifico controller.
- Durante il test e il debug di un'applicazione, gli sviluppatori possono aiutarti a individuare e correggere gli errori senza avere i dettagli completi del codice.
Svantaggi dell'utilizzo del framework CakePHP
- La documentazione supportata da CakePHP non è così completa come dovrebbe essere.
- Per utilizzare il software CakePHP, lo sviluppatore deve aggiornare i percorsi predefiniti per creare URL fantasiosi, il che richiede molto più lavoro rispetto ad altri framework PHP.
- CakePHP routing unidirezionale rispetto ad altri framework.
- Imparare PHP quadro non è facile.
- Offre routing unidirezionale è un altro svantaggio rispetto a framework come Ruby on Rails.
Sommario
- CakePHP è un framework open source che aiuta a rendere molto più semplice lo sviluppo e la manutenzione delle app PHP.
- CakePHP consente agli sviluppatori di ottenere un maggiore controllo sul database e sulle query SQL.
- È stato sviluppato da Michal Tatarynowicz il 15 aprile 2005
- L'architettura MVC e la convalida integrata sono le caratteristiche più importanti di CakePHP
- CakePHP viene fornito con un unico file di configurazione per impostazione predefinita che ti consente di modificarlo in base alle tue esigenze.
- Il metodo della convenzione di denominazione di CakePHP ti consente di organizzare il funzionamento dell'applicazione web.
- CakePHP ti consente di configurare il database nel file config/app.php.
- Cake PHP divide le operazioni MVC in tre parti:
- Modelli: utilizzati per tutte le interazioni del database, visualizzazioni: utilizzate per tutti gli output e le visualizzazioni, controller: utilizzati per controllare il flusso dell'applicazione
- Il più grande vantaggio dell'utilizzo di MVC in CakePHP è che ti aiuta a separare la logica aziendale dalla presentazione e dal recupero dei dati.
- Il più grande svantaggio di CakePHP è che il supporto della documentazione di CakePHP non è così completo come dovrebbe essere.