Ich muss zugeben: Irgendwann fühlte ich mich etwas in der PHP-Sprache. Eine Reihe von ergreifenden PHP-Hass-Artikeln umkreisten das Internet wie ein Virus, und einige seiner Flaggschiff-Frameworks, wie CodeIgniter, wurden schnell veraltet. Währenddessen schien Ruby on Rails hinsichtlich Innovation und Entwicklungsfreundlichkeit die Nase vorn zu haben. Mit der Zeit griff ich immer mehr nach meinem Ruby-Werkzeuggürtel.
Aber dann entdeckte ich eines Tages einen neuen, eleganten Rahmen namens Laravel. Zuerst lehnte ich es als einen weiteren Sinatra-Klon ab, der sich schnell ins Nichts verwandeln würde, da der Hauptentwickler ihn aufgab. Aber immer noch, Woche für Woche, waren meine Feeds in meinem sozialen Netzwerk in großer Aufregung und lobten die Lesbarkeit von Laravel. "Könnte es sein", dachte ich mir, "hat PHP endlich ein wirklich modernes Framework?"
Weitere Informationen über Laravel finden Sie unter http://laravel.com
Ich war nicht länger bereit, am Rande zu sitzen; Es war Zeit, sich einzumischen. Ein Jahr später bin ich einer der größten Evangelisten. Mit Laravel macht PHP eigentlich wieder Spaß! Noch besser, ich glaube nicht mehr, dass PHP für meist persönliche Websites und hässliche WordPress-Blogs zum Scheitern verurteilt ist. Nee; Es ist in der Tat der Glaube dieses Autors, dass wir dank Laravel, Composer und PHP 5.5 die nächste Renaissance der beliebtesten serverseitigen Sprache erleben werden.
Um die neueste Entwicklungsversion von Laravel (v4) zu installieren, müssen Sie zuerst Composer installieren. Dann klonen Sie einfach das Repo und installieren Sie die Abhängigkeiten.
git clone git: //github.com/illuminate/app.git myApp
undKomponist installieren
. Du bist bereit zu gehen!
Die meisten PHP-Entwickler beginnen ihre Reise damit, unzählige SQL-Zeilen direkt in ihr kühles, unlesbares PHP zu schachteln. Es ist unnötig zu erwähnen, dass die grundlegendsten Websites schnell zu einem unauffälligen Durcheinander führen.
Erinnern Sie sich noch daran, als Sie zum ersten Mal von ActiveRecord von Ruby on Rails gehört haben? Nun, im PHP-Ende der Welt ist Eloquent die erste Implementierung.
Benötigen Sie einige Beispiele?
// Hol alle Tasks ab $ task = Task :: all (); // Hole die Aufgabe mit einer ID von 1 $ task = Task :: find (1); // Task aktualisieren $ task = Task :: find (1); $ task-> title = 'Setzen Sie den Cookie ab!'; $ task-> save (); // Neue Aufgabe erstellen Aufgabe :: create (['title' => 'Artikel schreiben']); // Eine Aufgabe löschen Aufgabe :: find (1) -> delete ();
Leute, es ist nicht möglich mehr lesbaren Code in PHP zu schreiben! Nun wäre es eine Sache, wenn Eloquent es Ihnen nur erlaubte, grundlegende CRUD-Operationen für einen Tisch auszuführen, aber das ist sicherlich nicht der Fall.
Berücksichtigen Sie Tabellenbeziehungen, z. B. einen Benutzer und seine jeweiligen Aufgaben. In Laravel können wir, nachdem wir für jedes Modell eine schnelle Nachschlagemethode festgelegt haben, problemlos eine Eins-zu-Eins-Beziehung oder eine beliebige Verknüpfung für diese Angelegenheit behandeln. Hier sind einige Beispiele, um Ihren Appetit anzuregen.
// Erhalte alle Aufgaben vom Autor mit einer ID von 1 $ Aufgaben = User :: find (1) -> Aufgaben; // Holen Sie sich den Autor einer Aufgabe. $ Author = Task :: find (5) -> user () -> Benutzername; // Eine neue Aufgabe nach Autor einfügen $ task = new Task ([title: 'Gehe zum Laden']); Benutzer :: find (1) -> Aufgaben () -> Einfügen ($ task);
Es ist nicht schwer, Eloquent als die beste ActiveRecord-Implementierung in der PHP-Sprache zu betrachten.
Installieren Sie Composer.
Beginnend mit Laravel 4 (derzeit in Alpha) wird das gesamte Framework modularisiert und als einzelne Composer-Pakete verfügbar sein.
Composer ist ein Verpackungssystem für PHP, das PEAR ähnelt, jedoch besser ist. Es macht den Prozess des Abhängigkeitsmanagements so einfach wie möglich.
Denken Sie an das bestehende Rahmenökosystem. Im Moment müssen Sie mit den Kernfunktionen der einzelnen Frameworks leben. Sie können Eloquent beispielsweise nicht in einer CakePHP-Anwendung verwenden. Wie Sie sich vorstellen können, hat diese Wahrheit dazu geführt, dass das Rad immer wieder neu erfunden wurde ... und immer wieder.
Sehr geehrte Damen und Herren, die Zukunft von PHP ist modular. Warum ein aufgeblähtes, massives Gerüst installieren, wenn Sie nur wenige seiner Angebote benötigen? Nun, bald musst du nicht. Benötigen Sie in einem einfachen Projekt nur Eloquent? Gut - überhaupt kein Problem! Installieren Sie es einfach über Composer und fahren Sie fort!
Wenn wir also zu einer eher paketbasierten, modularen PHP-Welt wechseln, wie passt Laravel dazu? Stellen Sie sich das als eine vorgegebene Sammlung von Paketen vor, die in einen Bogen gehüllt sind! Besser noch, falls Sie ein Update auf die neueste Version des Frameworks benötigen, ist es so einfach wie das Ausführen Komponist Update
.
Als Beispiel für die Flexibilität, die dies bietet, fügen wir die beliebte Mockery-Testbibliothek einer Laravel-Anwendung hinzu. Beginnen Sie mit einem neuen Laravel 4-Projekt und bearbeiten Sie es composer.json
Datei, um Spott zu fordern.
"required": "illuminate / foundation": "> = 1.0.0", "spott / spott": "dev-master", "autoload": "classmap": ["app / controller", " App / Modelle "," App / Datenbank / Migrationen "," App / Tests / TestCase.php "]
Auf Packagist.org finden Sie eine Liste der verfügbaren Composer-Pakete sowie Installationsanweisungen.
Nachdem wir Composer darüber informiert haben, dass für unsere Anwendung Mockery erforderlich ist, können wir die entsprechenden Abhängigkeiten installieren.
Komponist Update
Und das ist es! Wir können jetzt Mockery in unseren Tests verwenden. Dies ist die Kraft von Composer und Laravel 4 bei der Arbeit! Wir haben Räder. Lass uns aufhören, neue zu schaffen! Hunderte von Hunderten von Paketen sind über Packagist.org erhältlich.
Hunderte von Hunderten von Paketen sind über Packagist.org erhältlich.
Routen
Die meisten Anfänger von PHP-Entwicklern kennen nichts anderes als die natürlichsten Routensysteme. Erstellen Sie eine Verzeichnisstruktur, die Ihrer gewünschten URI entspricht, und fahren Sie fort. Fügen Sie beispielsweise ein
index.php
Datei in das folgende Verzeichnis:blog / admin /
, und jetzt können Sie darauf zugreifen, indem Sie zu:localhost: 8888 / blog / admin / index.php
. Einfach! Nun, vielleicht zuerst; Sie werden jedoch wahrscheinlich feststellen, dass Sie mehr Flexibilität und Kontrolle darüber benötigen, welche Route in Ihrer Anwendung ausgelöst wird.Laravel verfolgt einen unglaublich einfachen und benutzerfreundlichen Weg beim Routing. Schreiben wir als Beispiel die Route, die erforderlich ist, um eine Ansicht für das Profil eines Benutzers anzuzeigen.
Route :: get ('users / id'), Funktion ($ id) // Finde den Benutzer $ user = User :: find ($ id); // Ansicht anzeigen und Benutzerobjekt zurückgeben: View :: make ('users.profile') -> with ('user', $ user););Nun, wenn ein Benutzer anfordert
example.com/users/1
, dasBenutzer / Profil.php
Ansicht wird gerendert.Alternativ können wir herkömmliche Steuerungen verwenden, um stattdessen die Logik zu handhaben.
Route :: get ('Benutzer / Id', 'Benutzer @ Show');Jetzt,
Controller / Benutzer.php
ist für die Wiedergabe der Ansicht verantwortlich - insbesondere für dieShow
Methode.mit ('Benutzer', $ Benutzer);
Einfache Authentifizierung
Nahezu jede Webanwendung einer Substanz erfordert eine Art Authentifizierung. Laravel bietet eine einfache, aber einfach zu bedienende Benutzeroberfläche zur Authentifizierung von Benutzern.
Beginnen Sie mit dem Erstellen eines
Benutzer
Tabelle mit den erforderlichen Feldern für dieNutzername
undPasswort
. Denken Sie daran: Dies ist ein perfekter Anwendungsfall für eine Migration!Laravel kann das dann
Versuch
um sich an einem Benutzer anzumelden - wahrscheinlich basierend auf vom Benutzer angegebenen Werten aus einem Formular.Hier ist ein einfaches Beispiel ohne den Validierungsaspekt.
Route :: post ('login', function () $ credentials = array ('username' => Eingabe :: get ('username'), 'password' => Eingabe :: get ('password')); / / validation durchführen if (Auth :: Versuch ($ credentials)) // Anmeldeinformationen passen. Angemeldet werden! return Redirect :: to ('admin / profile');;Beachten Sie, dass Laravel hinter den Kulissen das bereitgestellte Passwort automatisch vergleicht und es mit dem im Kennwort gespeicherten vergleicht
Benutzer
Tabelle.Unter der Annahme, dass die Anmeldeinformationen des Benutzers übereinstimmen, wird die Benutzer-ID in der Sitzung gespeichert und der Benutzer wird angemeldet. Bei nachfolgenden Anforderungen können Sie den aktuell angemeldeten Benutzernamen mit folgendem Befehl abrufen:
$ user = Auth :: user () -> Benutzername;
Email schicken
Geben Sie es zu: Das Versenden von E-Mails über Ihre Anwendung ist immer komplizierter als es sein sollte. Nicht mehr in Laravel 4!
Aufbauend auf dem beliebten SwiftMailer-Paket finden Sie jetzt ein neues
config / mail.php
Datei in Ihrer Anwendung. Hier können Sie die erforderlichen Anmeldeinformationen für Ihren E-Mail-Anbieter angeben. Hier ist eine abgespeckte Version dessen, was Sie finden werden:'smtp.example.com', 'port' => 2525, 'from' => array ('address' => null, 'name' => null), 'Verschlüsselung' => 'tls', 'username' = > null, 'kennwort' => null;);Ersetzen Sie die entsprechenden Werte einfach durch die Werte Ihres E-Mail-Servers.
Als nächstes benötigen wir eine Ansicht für die E-Mail. Lass uns einen erstellen, genannt
welcome.blade.php
, Wird verwendet, wenn sich ein neues Mitglied auf unserer Justin Bieber-Fanseite registriert.Hallo, $ $ user-> name. Nochmals vielen Dank, dass Sie sich für die neuesten Justin Bieber-News angemeldet haben! Wir freuen uns auf Sie. Danke, Management