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.

Architettura MVC in CakePHP
Architettura MVC in CakePHP

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.