cakephp Tutorial
Iniziare con cakephp
Ricerca…
Osservazioni
Questa sezione fornisce una panoramica di cosa sia CakePPp e perché uno sviluppatore potrebbe volerlo utilizzare.
Dovrebbe anche menzionare qualsiasi argomento di grandi dimensioni all'interno di cakephp e collegarsi agli argomenti correlati. Poiché la Documentation for cakephp è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.
Versioni
| Versione | Data di rilascio |
|---|---|
| 1.2.0 | 2008-12-26 |
| 1.3.0 | 2010-04-25 |
| 2.0.0 | 2011-10-17 |
| 3.0.0 | 2015/03/22 |
Installazione o configurazione
Requisiti
La seguente guida di installazione è per cakephp 2.8 e versioni successive. Tutte le versioni di cakephp inferiori a 2.8 non sono compatibili con php 7
Server HTTP. Ad esempio: Apache. Avere mod_rewrite è preferito, ma in nessun modo richiesto.
- PHP 5.5.9 o successivo (incluso PHP 7).
- estensione PHP mbstring
- estensione PHP intl
Attenzione! Sia in XAMPP che in WAMP, l'estensione mbstring funziona come impostazione predefinita. In XAMPP, l'estensione intl è inclusa ma devi decommentare l'estensione = php_intl.dll in php.ini e riavviare il server attraverso il pannello di controllo XAMPP. In WAMP, l'estensione intl è "attivata" per impostazione predefinita ma non funziona. Per farlo funzionare devi andare alla cartella php (di default) C: \ wamp \ bin \ php \ php {versione}, copiare tutti i file che assomigliano a icu * .dll e incollarli nella directory bin di apache C: \ wamp \ bin \ apache \ apache {version} \ bin. Quindi riavviare tutti i servizi e dovrebbe essere OK.
Sebbene non sia richiesto un motore di database, immaginiamo che la maggior parte delle applicazioni ne utilizzi uno. CakePHP supporta una varietà di motori di archiviazione di database:
- MySQL (5.1.10 o successivo)
- PostgreSQL
- Microsoft SQL Server (2008 o successivo)
- SQLite 3
Struttura della cartella CakePHP3
Dopo aver scaricato, questi sono i file e le cartelle che dovresti vedere:
- La cartella bin contiene gli eseguibili della console Cake.
- La cartella config contiene i file di configurazione utilizzati da CakePHP. Qui devono essere archiviati i dettagli della connessione al database, il bootstrap, i file di configurazione di base e molto altro.
- La cartella dei plug-in è dove vengono memorizzati i plugin utilizzati dalla tua applicazione.
- La cartella dei registri normalmente contiene i file di registro, a seconda della configurazione del registro.
- La cartella src sarà dove verranno posizionati i file dell'applicazione.
- La cartella dei test sarà dove metterai i casi di test per la tua applicazione.
- La cartella tmp è dove CakePHP memorizza i dati temporanei. I dati effettivi memorizzati dipendono da come è configurato CakePHP, ma questa cartella viene solitamente utilizzata per memorizzare le descrizioni dei modelli e, a volte, le informazioni sulla sessione.
- La cartella del fornitore è dove verranno installati CakePHP e altre dipendenze dell'applicazione. Impegnarsi personalmente a non modificare i file in questa cartella.
- La directory webroot è la root del documento pubblico dell'applicazione. Contiene tutti i file che si desidera siano pubblicamente raggiungibili.
Assicurati che le cartelle tmp e logs esistano e siano scrivibili, altrimenti le prestazioni della tua applicazione saranno seriamente compromesse. In modalità di debug, CakePHP ti avviserà, se non è il caso.
All'interno della cartella src
La cartella src di CakePHP è il luogo dove farai la maggior parte dello sviluppo delle tue applicazioni.
La cartella della console contiene i comandi della console e le attività della console per l'applicazione. Per ulteriori informazioni, vedi Gusci, Attività e Strumenti console.
La cartella Controller contiene i controller dell'applicazione e i relativi componenti.
La cartella Locale memorizza i file di stringhe per l'internazionalizzazione.
La cartella del modello contiene le tabelle, le entità e i comportamenti dell'applicazione.
Visualizza : le classi di presentazione vengono posizionate qui: celle, helper e file modello.
Modello : i file di presentazione vengono posizionati qui: elementi, pagine di errore, layout e file modello di visualizzazione.
Primo progetto vuoto di base
Creazione iniziale e download (CakePHP 3.x)
Il modo più semplice per creare un nuovo progetto CakePHP è tramite Composer (se non conosci il compositore guarda qui per maggiori informazioni)
Installa compositore
Se è necessario installarlo e si trova su una macchina Windows, seguire questa guida
Se sei su Linux / Unix / OSX segui questa guida
Crea il primo progetto CakePHP
Apri una finestra della console e vai alla tua installazione di php (su Windows con l'installazione xampp predefinita questa è C:\xampp\php )
Per creare un progetto vuoto, eseguire il seguente comando:
php composer.phar create-project --prefer-dist cakephp/app name_of_your_project
Cottura / Model / View / Controller
La magia di CakePHP è la cottura: una generazione automatica di controller, modello e codice di visualizzazione con opzioni CRUD di base.
Prima della cottura è necessario configurare la connessione del database. Per fare ciò è necessario modificare il file config/app.php nel progetto.
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'my_app', //in basic xampp: root
'password' => 'sekret', //in basic xampp: ''
'database' => 'my_app', //name of the database you want to connect to your project
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
]
],
Se il tuo database è collegato correttamente, inserisci bin/cake bake nella cartella root del tuo progetto in una finestra della console.
Questo dovrebbe produrre qualcosa come questo:
Welcome to CakePHP v3.1.6 Console
---------------------------------------------------------------
App : src
Path: /var/www/cakephp.dev/src/
PHP: 5.5.8
---------------------------------------------------------------
The following commands can be used to generate skeleton code for your application.
Available bake commands:
- all
- behavior
- cell
- component
- controller
- fixture
- form
- helper
- mailer
- migration
- migration_snapshot
- model
- plugin
- shell
- shell-helper
- template
- test
By using `cake bake [name]` you can invoke a specific bake task.
Per semplicità utilizzeremo tutto con le impostazioni predefinite. Per fare questo si entra
cake bake all
Ciò produrrà qualcosa seguendo queste linee:
Welcome to CakePHP v3.2.11 Console
---------------------------------------------------------------
App : src
Path: C:\xampp\htdocs\tipping\src\
PHP : 5.6.15
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Possible model names based on your database:
- users
- blogs
Run `cake bake all [name]` to generate skeleton files.
Eseguendo il cake bake all <modelNameYouWantToBake> il modello, la tabella, il controller, l'apparecchiatura e i file di visualizzazione. Esegui questo per ogni possibile nome di modello e hai un progetto funzionante con opzioni CRUD di base.
Ora puoi aprire il tuo browser e vedere come appare e iniziare ad estendere il progetto secondo la tua logica
Requisiti
1-HTTP Server. For example: Apache. Having mod_rewrite is preferred, but by no means required.
2-PHP 5.5.9 or greater (including PHP 7)
3-mbstring PHP extens ion
4-intl PHP extension
Di solito faccio un'installazione di apache e mysql su una linuxbox. Posso anche usare Windows, ma non lo consiglio;) Quindi, di solito faccio una nuova entrata nel file / etc / hosts per rendere un sitename disponibile a cakephp.
127.0.0.1 localhost caketest.local
prossimo passaggio per copiare tutti i file cakephp in una sottodirectory all'interno di / home / myusername / public_html / caketest
app
cake
index.php
plugins
README
vendors
.htaccess
poi ho impostato il sito per l'apache (non necessario),
<VirtualHost *: 80> DocumentRoot "/ home / myusername / public_html / caketest" ServerName caketest.local
# Questo dovrebbe essere omesso nello sviluppo SetEnv APPLICATION_ENV dell'ambiente di produzione
<Directory "/home/myusername/public_html/caketest">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
riavviare apache. è inoltre necessario modificare i file .htaccess e posizionare una direttiva RewriteBase con hte path nella directory effettiva, ad es.
RewriteBase /~myusername/caketest
creare un database, impostare la connessione db nei file di configurazione della torta e basta. puoi puntare il tuo browser su http: //caketest.local se non vuoi che un url del sito di test tu possa saltare gli host, e apache creazione di vhost, ma l'url da usare dovrebbe essere http: / localhost / ~ nomeutente / caketest
un'altra cosa importante è abilitare userdir modul in apache, e anche controllare se l'uso di php è abilitato anche in userdirs.
CakePHP 2.x Introduzione di base
Parlerà della struttura delle directory di CakePHP, cosa significa ogni cartella.
CakePHP ha alcune cartelle principali
- app - Contiene il nostro codice sorgente dell'applicazione, tutto il nostro codice si trova in questa directory.
- lib - Questo è il liberatore del nucleo di cakephp, contiene tutto il codice della libreria di cakephp di base. La modifica del codice all'interno di questa directory non è suggerita in quanto possono causare errori durante l'aggiornamento della libreria cakephp.
- plugin - Questo contiene il codice dei plugin cakephp che verrà utilizzato per la nostra applicazione.
- venditori - Questo contiene codice esterno, questo codice non utilizzerà la libreria cakephp.
- index.php: questo è il file indice.
Possiamo avere più applicazioni ospitate all'interno di un singolo progetto. cioè possono usare le stesse cartelle lib, plugin e venditori.
Per modificare il codice lib, è consigliabile estenderli nella nostra cartella app ed eseguire le modifiche.
La cartella dei plugin e dei fornitori è condivisa da tutte le applicazioni ospitate nella stessa directory.
index.php è il file che viene chiamato prima.
