Devo ammettere: a un certo punto, mi sentivo un po 'giù nel linguaggio PHP. Un numero di commoventi articoli di odio di PHP circolavano sul web come un virus, e alcuni dei suoi scenari di punta, come CodeIgniter, stavano rapidamente diventando obsoleti. Per tutto il tempo, Ruby on Rails sembrava essere al comando del pacchetto, in termini di innovazione e facilità di sviluppo. Col passare del tempo, mi sono ritrovato a raggiungere sempre più la mia cintura di strumenti Ruby.
Ma, un giorno, ho scoperto un nuovo ed elegante framework, chiamato Laravel. All'inizio, l'ho liquidato come un ennesimo clone di Sinatra che sarebbe rapidamente diminuito nel nulla, mentre lo sviluppatore principale l'aveva abbandonato. Ma, ancora, settimana dopo settimana, i miei feed di social network erano in voga, elogiando la leggibilità di Laravel. "Potrebbe essere," pensavo tra me e me, "che PHP abbia finalmente un quadro veramente moderno?"
Ulteriori informazioni su Laravel su http://laravel.com
Non ero più disposto a sedermi ai margini; era tempo di scavare. Un anno dopo, e io sono uno dei suoi più grandi evangelisti. Laravel rende di nuovo PHP divertente! Ancora meglio, non credo più che PHP sia destinato per sempre a siti per lo più personali e brutti blog WordPress. No; infatti, è convinzione di questo scrittore che, grazie a Laravel, Composer e PHP 5.5, stiamo per sperimentare la prossima rinascita del linguaggio server-side più popolare del web.
Per installare l'ultima versione di sviluppo di Laravel (v4), devi prima installare Composer. Quindi, clonare semplicemente il repository e installare le dipendenze.
git clone git: //github.com/illuminate/app.git myApp
einstallazione di compositore
. Sei pronto per andare!
La maggior parte degli sviluppatori PHP inizia il suo percorso annidando innumerevoli linee di SQL direttamente nel loro frigido, illeggibile PHP. Inutile dire che, escludendo i siti web di base, questo porta rapidamente a un disordine irraggiungibile.
Ricordi quando hai sentito parlare di ActiveRecord di Ruby on Rails? Bene, nella parte finale del mondo di PHP, Eloquent è la sua prima implementazione.
Bisogno di alcuni esempi?
// Recupera tutte le attività $ tasks = Task :: all (); // Recupera l'attività con un id di 1 $ task = Task :: find (1); // Aggiorna un'attività $ task = Task :: find (1); $ task-> title = 'Metti giù quel cookie!'; $ Task-> save (); // Crea una nuova attività Task :: create (['title' => 'Write article']); // Elimina un'attività Task :: find (1) -> delete ();
Gente, non è possibile scrivere codice più leggibile in PHP! Ora sarebbe una cosa se Eloquent ti permettesse solo di eseguire operazioni CRUD di base su un tavolo, ma questo non è certo il caso.
Considera le relazioni della tabella, come un utente e le sue rispettive attività. In Laravel, dopo aver impostato un metodo di ricerca rapida per ciascun modello, possiamo facilmente gestire la relazione one-to-one o qualsiasi altra associazione. Ecco alcuni esempi per stuzzicare l'appetito.
// Ottieni tutte le attività dall'autore con un id di 1 $ tasks = User :: find (1) -> tasks; // Ottieni l'autore di un'attività $ author = Task :: find (5) -> user () -> username; // Inserisce una nuova attività per autore $ task = new Task ([title: 'Go to store.']); User :: trovare (1) -> (compiti) -> inserire ($ task);
Non è un problema considerare Eloquent come la migliore implementazione di ActiveRecord nel linguaggio PHP.
Installa compositore.
A partire da Laravel 4 (attualmente in Alpha), l'intero framework sarà modularizzato e disponibile come pacchetti di Composer individuali.
Composer è un sistema di packaging per PHP simile alla PEAR, ma migliore. Rende il processo di gestione delle dipendenze il più semplice possibile.
Pensa all'ecosistema quadro esistente. Al momento, sei costretto a convivere con il set di funzionalità di ogni framework. Non puoi scegliere, ad esempio, di usare Eloquent in un'applicazione CakePHP. Come puoi immaginare, questa verità ha portato a un folle processo di reinventare la ruota più e più volte ... e oltre.
Signore e signori, il futuro di PHP è modulare. Perché installare una struttura gonfia e massiccia, quando si richiedono solo alcune delle sue offerte? Bene, presto, non dovrai. Richiede solo Eloquent in un progetto semplice? Bene, non è un problema! Basta installarlo tramite Composer e andare avanti!
Quindi, se ci stiamo spostando verso un mondo PHP modulare più basato su pacchetti, come si inserisce Laravel? Beh, pensalo come una collezione predeterminata di pacchi, avvolti in un arco! Ancora meglio, se dovessi aggiornare l'ultima versione del framework, è facile come correre aggiornamento del compositore
.
Come esempio della flessibilità offerta, aggiungiamo la famosa libreria di test di Mockery a un'applicazione Laravel. Inizia con un nuovo progetto Laravel 4 e modificalo composer.json
file per richiedere Mockery.
"require": "illuminate / foundation": "> = 1.0.0", "mockery / mockery": "dev-master", "autoload": "classmap": ["app / controller", " app / models "," app / database / migrations "," app / tests / TestCase.php "]
Fai riferimento a Packagist.org per un elenco dei pacchetti di Composer disponibili, oltre alle istruzioni di installazione.
Ora che abbiamo informato Composer che la nostra applicazione richiede Mockery, possiamo installare le dipendenze applicabili.
aggiornamento del compositore
E questo è tutto! Ora possiamo usare Mockery nei nostri test. Questo è il potere di Composer e Laravel 4 al lavoro! Abbiamo ruote; smettiamo di crearne di nuovi! Centinaia su centinaia di pacchetti sono disponibili tramite Packagist.org.
Centinaia su centinaia di pacchetti sono disponibili tramite Packagist.org.
Itinerari
Molti sviluppatori PHP all'inizio non hanno familiarità con qualcosa di diverso dal più naturale dei sistemi di percorso. Creare un albero di directory per abbinare l'URI desiderato e andare avanti. Ad esempio, aggiungi un
index.php
file nella seguente directory:blog / admin /
, e, ora, puoi accedervi sfogliando:localhost: 8888 / blog / admin / index.php
. Facile! Bene, forse all'inizio; ma probabilmente scoprirai che hai bisogno di maggiore flessibilità e controllo su quale rotta viene attivata nella tua applicazione.Laravel adotta un approccio incredibilmente semplice e facile da usare per il routing. Ad esempio, scriviamo il percorso necessario per visualizzare una vista per il profilo di un utente.
Route :: get ('users / id', function ($ id) // trova l'utente $ user = User :: find ($ id); // mostra la vista e passa l'oggetto utente return View :: make ('users.profile') -> con ('utente', $ utente););Ora, quando un utente richiede
example.com/users/1
, ilutenti / profile.php
la vista sarà resa.In alternativa, possiamo usare i controller tradizionali per gestire invece la logica.
Route :: get ('users / id', 'Users @ show');Adesso,
Controller / Users.php
sarà responsabile per il rendering della vista - in particolare ilmostrare
metodo.con ('utente', $ utente);
Facile autenticazione
Quasi qualsiasi applicazione web di sostanza richiederà una qualche forma di autenticazione. Laravel fornisce un'interfaccia semplice, ma facile da usare per l'autenticazione degli utenti.
Inizia creando un
utenti
tabella con i campi necessari per ilnome utente
eparola d'ordine
. Ricorda: questo è un caso d'uso perfetto per una migrazione!Laravel può allora
tentativo
per accedere a un utente - probabilmente in base ai valori forniti dall'utente da un modulo.Ecco un esempio di base, meno l'aspetto della validazione.
Route :: post ('login', function () $ credentials = array ('username' => Input :: get ('username'), 'password' => Input :: get ('password')); / / eseguire la convalida se (Auth :: attempt ($ credentials)) // Le credenziali corrispondono Accesso eseguito return Redirect :: to ('admin / profile'););Nota che dietro le quinte Laravel cancellerà automaticamente la password fornita e la confronterà con ciò che è memorizzato nel
utenti
tavolo.Supponendo che le credenziali dell'utente corrispondano, l'ID utente verrà archiviato nella sessione e l'utente effettuerà l'accesso. In caso di richieste successive, è possibile recuperare il nome utente dell'utente attualmente connesso con:
$ user = Auth :: user () -> username;
Invio di email
Ammettilo: inviare email tramite la tua applicazione è sempre più complicato di quanto dovrebbe essere. Non più in Laravel 4!
Costruito sul popolare pacchetto SwiftMailer, ora ne trovi uno nuovo
config / mail.php
file nella tua applicazione. Qui è dove è possibile specificare le credenziali necessarie al proprio provider di posta elettronica. Ecco una versione ridotta di ciò che troverai:'smtp.example.com', 'port' => 2525, 'da' => array ('address' => null, 'name' => null), 'encryption' => 'tls', 'username' = > null, 'password' => null,);Sostituisci semplicemente i valori con quelli del tuo server email, di conseguenza.
Successivamente, abbiamo bisogno di una vista per l'email. Creiamo uno, chiamato
welcome.blade.php
, che verrà utilizzato quando un nuovo membro si registra per il nostro sito Web dei fan di Justin Bieber.Salve, $ utente-> nome. Grazie ancora per esserti iscritto alle ultime notizie di Justin Bieber! Non vediamo l'ora di vedervi in giro. Grazie, gestione