Vuoi saperne di più su Yii? Leggere Introduzione al framework Yii e segui la nostra serie di programmazione Yii.
Nel tutorial di oggi, spiegheremo come installare Yii in un ambiente di sviluppo locale sia per Windows che per macOS. Per la guida di Windows, faremo affidamento su WAMP Server, un ambiente di sviluppo Web Windows per Apache, PHP e Mac, e per la guida Mac, useremo il suo cugino, MAMP. Sebbene Rod utilizzi WAMP nel tutorial di oggi, esiste anche una versione Windows di MAMP.
Sto scrivendo la parte per Mac di questa guida, e il mio collega Rod Ussing sta scrivendo il lato Windows. Ho incontrato Rod al liceo in California al mio secondo lavoro di programmazione, un numero esadecimale molto grande in anni fa. Usa ancora Windows, ma dopo otto anni di lavoro in Microsoft e stanco di riavviare il sistema per riavviare Outlook, sono partito per macOS.
Yii è un framework incredibilmente affidabile, ben progettato e ad alte prestazioni per PHP, poiché Rails è per Ruby e simile a Laravel. Se ti stai chiedendo se è possibile creare applicazioni reali in Yii, controlla Meeting Planner e la nostra serie Crea il tuo avvio.
Adoro programmare in Yii. Tutto è più veloce e più facile per me. Ed è relativamente semplice per quanto riguarda i framework (quello sono io che faccio ombra a Rails).
Inizieremo con le basi dell'installazione univoca di Yii in macOS, quindi passeremo a Windows. Poiché ciò che è necessario per completare l'installazione su ogni piattaforma converge, descriveremo le restanti istruzioni in una forma unificata per entrambe le piattaforme.
Yii Basic è la forma più semplice di Yii. Puoi creare tutti i tipi di applicazioni con esso, ma è meglio per un singolo livello, ad es. un lato rivolto verso il cliente.
Ecco la struttura di directory di un'applicazione Yii Basic con solo un set di directory per una singola applicazione:
asset / contiene comandi di definizione delle risorse / contiene comandi della console (controller) config / contiene configurazioni dell'applicazione controller / contiene classi di controller Web mail / contiene file di visualizzazione per modelli di posta elettronica / contiene runtime di classi di modello / contiene file generati durante test di runtime / contiene vari test per il fornitore dell'applicazione di base / contiene pacchetti di terze parti dipendenti / contiene file di visualizzazione per il Web di applicazioni Web / contiene lo script di immissione e le risorse Web
Il modello di progetto avanzato Yii 2 è la soluzione migliore per lo sviluppo di applicazioni Web complesse con più livelli, ad esempio front-end, back-end e console, ognuna delle quali è un'applicazione Yii separata. Ad esempio, i siti amministrativi possono essere eseguiti nel back-end e le attività cron possono essere eseguite nell'ambiente della console.
Al contrario, ecco la struttura delle directory per un'applicazione Yii Advanced con più livelli:
configurazione comune / contiene configurazioni condivise mail / contiene file di visualizzazione per modelli di posta elettronica / contiene classi modello utilizzate sia nei test di backend che di frontend / contiene test per classi comuni config di console / contiene configurazioni di console controller / contiene comandi di console (comandi) migrazioni / contiene modelli di migrazione di database / contiene runtime di classi di modelli specifici della console / contiene file generati durante le risorse di back-end di runtime / contiene asset di applicazioni come JavaScript e CSS config / contiene controller di configurazione backend / contiene modelli di classi di controller Web / contiene runtime di classi di modello specifico back-end / contiene i file generati durante i test di runtime / contiene i test per le viste delle applicazioni di backend / contiene i file di visualizzazione per il Web dell'applicazione Web / contiene lo script di immissione e le risorse di frontend delle risorse Web / contiene le risorse dell'applicazione come JavaScript e CSS config / contiene controller di configurazione frontend / contiene Web controller modelli di classi / contai runtime delle classi del modello specifico di front-end ns / contiene i file generati durante i test di runtime / contiene i test per le viste delle applicazioni di frontend / contiene i file di visualizzazione per il web dell'applicazione Web / contiene lo script di immissione e i widget di risorse Web / contiene il fornitore dei frontend widget / contiene terze parti dipendenti ambienti di pacchetti / contiene sovrascritture basate sull'ambiente
Ogni livello è il proprio sito, ma possono facilmente condividere il codice e un database comune se lo si desidera. Uso questo modello nella nostra serie di startup. Yii Advanced fornisce inoltre un supporto di configurazione integrato per diversi ambienti, facilitando lo sviluppo del team.
Sono stato codificato in Yii su macOS per diversi anni. Certo, ci sono molti modi diversi per eseguire un ambiente Apache, MySQL, PHP su un Mac, ma preferisco MAMP.
In pratica, basta visitare il sito Web MAMP e scaricare il pacchetto macOS:
Una volta scaricato, puoi trascinare il pacchetto su applicazioni cartella e fare doppio clic per avviare MAMP. Questo mostrerà una finestra MAMP:
Clic Preferenze per configurare le porte che si desidera sul server (io uso 8888
per Apache):
Clic Server web per rivedere o modificare la directory del tuo server. Io uso Apache localmente:
Yii2 richiede Composer, un popolare gestore delle dipendenze per PHP. Se non hai ancora installato Composer, procedi nel seguente modo:
curl -s http://getcomposer.org/installer | php mv compositore.phar / usr / local / bin / compositore
Quindi, utilizzare Composer per installare Yii2. La richiesta di installazione richiede l'utilizzo delle proprie credenziali dell'account GitHub; iscriviti se non hai un account.
Come Rod descrive ulteriormente di seguito, l'installazione di Yii richiede il plugin di asset del compositore:
il compositore globale richiede "fxp / compositore-asset-plugin: 1.0.0-beta2"
Ti consiglia di creare un account con GitHub e configurazione di un token di accesso. La ragione di ciò è che durante l'installazione di Yii, il numero di richieste potrebbe superare il limite di velocità dell'API GitHub e Composer potrebbe fermarsi e chiedere le credenziali di accesso a GitHub per ottenere un token di accesso all'API GitHub durante l'installazione.
Quando sei pronto, puoi installare Yii. Useremo Yii basic e lo installeremo nel ~ / Siti / hello
directory:
compositore crea-progetto --prefer-dist yiisoft / yii2-app-basic ciao
Quindi, crea un link simbolico per MAMP alla directory dell'app Sites:
cd / Applicazioni / MAMP / htdocs ln -s ~ / Sites / ciao / / Applicazioni / MAMP / htdocs / ciao
Se decidi di installare Yii Advanced, potrebbe essere utile attivare e personalizzare il file dell'host virtuale:
$ nano /Applications/MAMP/conf/apache/httpd.conf # Gli host virtuali includono /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Di seguito, ho configurato frontend.dev e backend.dev per mappare su un'installazione avanzata di Yii in ~ / Siti / yiiplus
directory che ha un collegamento simbolico in / Applicazioni / MAMP
.
$ nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf NameVirtualHost *: 8888ServerName frontend.dev DocumentRoot / Applicazioni / MAMP / htdocs / yiiplus / frontend / web / # usa mod_rewrite per il supporto URL piuttosto RewriteEngine su # Se esiste una directory o un file, usa direttamente la richiesta RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Altrimenti inoltra la richiesta a index.php RewriteRule. index.php # usa index.php come indice file DirectoryIndex index.php # ... altre impostazioni ... ServerName backend.dev DocumentRoot / Applicazioni / MAMP / htdocs / yiiplus / backend / web / # usa mod_rewrite per il supporto URL piuttosto RewriteEngine su # Se esiste una directory o un file, usa direttamente la richiesta RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Altrimenti inoltra la richiesta a index.php RewriteRule. index.php # usa index.php come indice file DirectoryIndex index.php # ... altre impostazioni ...
Se decidi di utilizzare Yii Advanced, ti incoraggio a dare un'occhiata al mio tutorial su questo argomento che offre maggiori dettagli.
Quelli sono i passaggi specifici della piattaforma per macOS. Ora diamo un'occhiata alla preparazione di Yii su Windows. Successivamente, torneremo per completare le configurazioni con passaggi che funzionano per entrambe le piattaforme. Se sei strettamente un utente macOS, vai avanti Completamento della configurazione Yii sezione.
Per Yii su Windows, useremo WAMP. Per iniziare, devi scaricare e configurare WAMP sul tuo computer Windows. Per questo tutorial, installeremo WAMP sul tuo computer locale (che il server chiamerà come localhost). Se si desidera installare su un server Windows di produzione, sarà necessario contattare il proprio provider per i dettagli del server e seguire i consigli per l'installazione e la configurazione di WAMP Server o uno stack Apache, MySQL, PHP alternativo per tale ambiente.
Poiché il focus di questo tutorial è sull'installazione di Yii, ti consigliamo di consultare uno dei numerosi tutorial esistenti che coprono l'installazione di WAMP; sarete sorpresi di quanto sia facile. Poiché è anche un'applicazione PHP, la guida di WordPress per l'installazione di WAMP è un buon punto di partenza.
Una volta installato e configurato WAMP, è necessario installare Composer, che è un gestore delle dipendenze e un programma di installazione per i progetti PHP. Questo ci consentirà di iniziare con la nostra installazione Yii.
Sebbene tu possa scaricare i pacchetti Yii da GitHub, in questo tutorial utilizzeremo Composer per installarlo. Se non hai familiarità con Composer, puoi imparare di più in questo tutorial.
Per prima cosa andiamo su GitHub per scaricare e installare l'ultima versione di Composer-setup.exe, che al momento è v4.5.0.
Una volta completata l'installazione, è consigliabile disconnettersi e riconnettersi per assicurarsi che tutti i file vengano aggiornati [Jeff qui: o acquista un Mac].
Puoi controllare la tua installazione aprendo il prompt dei comandi e andando a:
cd \ Utenti \ nomeutente
Inserisci il seguente comando:
compositore -V
Dovrebbero quindi essere visualizzate le informazioni sulla versione di Composer, ad esempio:
Compositore versione 1.4.1 2017-03-10 09:29:45
Per gestire le risorse del progetto nel Composer .json, senza dover installare NPM o Bower, è necessario assicurarsi che Composer abbia tutti i pacchetti necessari eseguendo il comando install per il plug-in Composer Assets.
Apri il prompt dei comandi su Windows e vai a dove si trova la tua cartella PHP. Su questa installazione, PHP si trova nella directory wamp64 \ bin \ ed è la versione 7.0.10 di PHP, quindi scriviamo:
cd \ wamp64 \ bin \ php \ php7.0.10
Quindi digitare il seguente comando:
il compositore globale richiede "fxp / compositore-asset-plugin: ^ 1.3.1"
Tieni presente che le modifiche al software, quindi assicurati sempre di controllare che stai lavorando con la versione stabile più recente. Fai attenzione ai beta perché se ti allontani troppo dal bordo sanguinante, le cose potrebbero iniziare a rompersi.
Per le versioni più recenti di Composer e Composer Plugin:
Ora, configuriamo WAMP per Yii. Cambia la tua directory nell'installazione WAMP \ www per questa installazione:
cd \ wamp64 \ www
In questa directory creeremo una nuova directory denominata Yii Basic digitando:
mkdir yii-basic
Qui è dove installeremo Yii Basic. È possibile saltare questo passaggio e installare Yii direttamente nella directory www, ma la creazione di una directory chiaramente denominata evita la confusione, specialmente se si intende installare sia i modelli avanzati Yii Basic che Yii.
Nella nuova directory yii-basic, eseguiamo il seguente comando per installare il modello di base Yii:
compositore create-project --prefer-dist --stability = dev yiisoft / yii2-app-basic yii-basic
Possiamo verificare Yii navigando nella cartella "Base" nella directory che hai creato:
cd \ wamp64 \ bin \ www \
Ora digitiamo il comando:
PHP yii servire
Questo avvierà Yii usando il motore PHP di WAMP.
Se si desidera personalizzare gli indirizzi del browser locale per il proprio sito o fare riferimento in modo distinto al front-end e al back-end del sito Yii-Advanced, è necessario fare un po 'di più.
O usando l'editor di testo Apri il file menu a discesa o navigando direttamente in Esplora risorse, vai al file:
C: \ WINDOWS \ system32 \ drivers \ etc \ hosts
Stiamo cercando la sezione che dice:
# La risoluzione dei nomi localhost viene gestita all'interno del DNS stesso. 127.0.0.1 localhost
In preparazione per i siti multipli di Yii-Advanced, aggiungiamo uno per frontend e uno per backend:
127.0.0.1 frontend.dev 127.0.0.1 backend.dev
Sembrerà così:
Puoi trovare ulteriori informazioni su come trovare e configurare il tuo file host di Windows qui.
È una buona idea controllare che gli host virtuali siano abilitati nel file httpd.conf di Apache.
Fai molta attenzione quando modifichi il file httpd.conf - fai una copia prima di iniziare, e assicurati di capire cosa stai facendo prima di apportare modifiche, altrimenti puoi facilmente distruggere il tuo server WAMP. [Jeff qui, sembra che Rod stia parlando per esperienza.]
Per trovare httpd.conf, digitare:
cd \ wamp64 \ bin \ apache \ apache2.4.23 \ conf
Mi piace questa guida per una spiegazione più dettagliata della modifica di httpd.conf per abilitare le funzioni relative agli host virtuali in Apache e la configurazione degli host virtuali su WAMP.
Ora dobbiamo configurare i nostri host virtuali Apache. Usando il nostro menu editor di testo o Windows Explorer, navigheremo alla seguente directory:
C: Wamp64 \ bin \ apache \ apache2.4.23 \ conf \ aggiuntivo \ httpd-vhosts.conf
Ci dovrebbe già essere un host virtuale per localhost, quindi ora abbiamo bisogno di aggiungere host virtuali per il frontend Yii e il backend Yii. Ti consiglio di digitare il nome sopra ciascun host virtuale per evitare confusione. (Non dimenticare di commentare il nome!)
vale a dire. #Fine frontale
Il file di configurazione dell'host virtuale dovrebbe essere simile a questo.
In questo esempio, abbiamo installato Yii Advanced in c: / wamp64 / www / Yii-avanzato
e creato un'applicazione chiamata yii-application. Va bene anche installare Yii in www in modo che il tuo percorso possa leggere più semplicemente c: / wamp64 / www / myapp / frontend / web.
Presta molta attenzione al DocumentRoot
e elenco
Linee. Devono entrambi contenere il percorso completo per la directory dell'applicazione Yii fino al file "web" che si trova rispettivamente nelle directory frontend e backend. Il contenuto di DocumentRoot e Directory è identico tranne per il fatto che il percorso per Directory è contenuto tra virgolette.
Per installare il modello avanzato Yii, torniamo alla directory wamp64 \ www:
cd \ wamp64 \ www
Ora creeremo una nuova directory chiamata yii-advanced:
mkdir yii-advanced
Nella nuova directory, eseguiamo il seguente comando, che installerà il modello Yii Advanced:
compositore crea-progetto --prefer-dist yiisoft / yii2-app-advanced yii-application
Finora, l'installazione di Yii Basic e Yii Advanced è stata la stessa. Ora avremo bisogno di aggiungere qualche altro passaggio per far sì che il tuo modello avanzato di Yii sia pronto per l'azione.
Supponendo che PHPmyAdmin sia installato sul tuo server WAMP (è incluso con MAMP), puoi effettivamente creare il database tramite la GUI PHPmyAdmin, ma stiamo andando a mettere le mani su e usare la riga di comando SQL, che onestamente non richiede molto più sforzo.
Nella riga di comando di Windows, vai alla cartella MySQL digitando:
cd \ wamp64 \ www \ bin \ mysql \ mysql5.7.14 \ bin
Puoi anche farlo da qualsiasi posto purché WAMP o MAMP si trovino nel tuo percorso di ambiente locale.
Quindi, per Mac e Windows, digitare:
mysql -u root -p
Questo ci porterà alla riga di comando mysql. Ora eseguiremo il seguente comando in SQL:
creare il database yii2test;
(Puoi nominare il database come preferisci, a condizione di assicurarti di usare il nome appropriato per tutto il resto del processo.)
Ora creeremo un nome utente e una password per questo database digitando i seguenti comandi SQL:
GRANT ALL ON ON yiit2est. * TO 'your-username' @ 'localhost' IDENTIFICATO DA 'your_chosen_password'; FLUSH PRIVILEGES; USCITA;
Ora lascerai MySQL e tornerai alla riga di comando della console.
Tieni a portata di mano il nome utente e la password del database in quanto ne avremo bisogno per configurare il file di configurazione PHP (common / config / main-local.php), che consente a Yii di comunicare in modo sicuro con MySQL.
Questo non è necessario per le installazioni Yii-basic.
Per inizializzare Yii advanced, avremo bisogno di navigare nella cartella dell'applicazione Yii-Advanced. In questo caso, sarebbe:
cd \ wamp64 \ www \ yii-advanced \
Quindi digita dentro
:
Questo avvierà lo script di inizializzazione che chiederà se si desidera inizializzare Yii per uno sviluppo o un ambiente di produzione; molto probabilmente sarà simile a questo:
In quale ambiente vuoi che venga inizializzata l'applicazione? [0] Sviluppo [1] Produzione
Ai fini di questo tutorial, lavoreremo in un ambiente di sviluppo, quindi digita 0 e premi invio, quindi digita "sì" (senza virgolette) quando richiesto e l'inizializzazione verrà completata.
Abbiamo quasi finito - tutto ciò che rimane ora sono alcuni passaggi di configurazione, e puoi iniziare a programmare il lavoro con Yii.
Per Yii-basic, ti stai modificando /yii-basic/config/db.ini
. Per, Yii-advanced, ti stai modificando /yii-advanced/common/config/main-local.php
.
Per modificare questo file, sarà necessario utilizzare un editor di testo. Atom è un'ottima scelta che ti servirà bene quando inizi a programmare in modo più avanzato.
Per aprire il file di configurazione, usa il Apri il file menu a discesa nell'editor di testo o navigare direttamente nel file di configurazione usando Windows Explorer e fare clic con il tasto destro del mouse Aperto con e seleziona il tuo editor di testo. (In Windows, potrebbe essere necessario eseguire l'editor di testo come amministratore.)
Il seguente esempio dall'installazione che stiamo usando oggi illustra questo processo. Ricordare che è possibile che si stia utilizzando una diversa denominazione dell'unità e che si disponga di un percorso leggermente diverso a seconda di ciò che è stato assegnato alle proprie cartelle.
Il file di configurazione dovrebbe apparire in questo modo:
Ricordati di inserire lo stesso nome utente e la stessa password che hai usato per configurare il tuo database Yii MySQL, altrimenti Yii e MySQL non giocheranno bene!
E per favore non pensate nemmeno di usare il nome utente e la password di root del vostro database nel file di configurazione! [Jeff qui ... davvero, no.]
Yii Advanced ha le sue migrazioni. Ora che MySQL è impostato, avremo bisogno di alcune tabelle. Le migrazioni Yii creano tabelle e schemi nel database MySQL a livello di programmazione.
Per avviare lo strumento di migrazione di Yii in Windows, è necessario accedere alla directory di installazione di Yii digitando:
cd \ wamp64 \ www \ yii-advanced \ yii-application
Di nuovo, puoi scegliere di installarlo senza la directory genitore che Rod ha creato per questa demo. Ad esempio, per MAMP, sto usando:
$ cd ~ / sites / yii-advanced
Ora digita il seguente comando:
yii migrate
In un momento ti verrà chiesto se vuoi "Applicare la migrazione sopra?"
genere sì
e premi return. Se tutto andrà bene, avremo un messaggio che Yii ha migrato con successo.
Ora per il momento della verità. Quando visiti localhost: 8888
nel tuo browser, dovresti vedere:
Per Yii Advanced, potrebbe essere necessario provare frontend.dev
o includere il sito di frontend o back-end, ad es. localhost: 8888 / frontend
. Se non si abilita il file host, è possibile accedere a Yii direttamente tramite il percorso, localhost: 8888 / web
.
Se hai installato il modello avanzato, vai su Iscriviti collega e inserisci un nome utente, l'indirizzo email che desideri utilizzare e una password.
Non usare la tua password MySQL (quella che hai inserito nel file di configurazione di PHP). Questo è il database degli account utente Yii con nuovi nomi utente e password.
La tua prima registrazione utente sarà anche l'utente amministrativo dell'applicazione Yii con accesso a tutto.
Ora che sei registrato, digita nel browser:
backend.dev
Dovresti ottenere una schermata di accesso amministratore dove puoi inserire il tuo nuovo nome utente e password:
Questo ti riporterà a Yii sopra "Congratulazioni
"Pagina ma come utente autenticato.
Ora, con tutte le congratulazioni che vanno in giro, perché non congratularmi con te stesso come hai appena installato con successo Yii. Ben fatto. [Jeff qui, se l'hai fatto su Windows, vai a comprare un Mac e provalo lì.]
Spero che il nostro tutorial oggi ti aiuti a iniziare con Yii. Rod e io ci siamo divertiti a scrivere questo insieme.
Guarda i prossimi tutorial nella nostra programmazione con la serie Yii2 mentre continuiamo a esplorare i diversi aspetti del framework. Assicurati di controllare il nostro Building Your Startup con la serie PHP che utilizza il template avanzato di Yii2 mentre costruiamo un'applicazione reale.
Come programmare con l'episodio introduttivo di Yii fa un ottimo lavoro per entrare nei dettagli sulla configurazione di Yii basic e di un server Linux di produzione.
Se vuoi sapere quando arriverà il prossimo tutorial di Yii2, seguimi @reifman su Twitter o controlla la mia pagina di istruttore. La mia pagina di istruttore includerà tutti gli articoli di questa serie non appena saranno pubblicati.