In den frühen Tagen des dynamischen Webs sah das Schreiben einer Webanwendung ganz anders aus als heute. Die Entwickler waren dann dafür verantwortlich, den Code nicht nur für die eindeutige Geschäftslogik unserer Anwendungen zu schreiben, sondern auch für alle Komponenten, die auf Websites so häufig sind - Benutzerauthentifizierung, Eingabevalidierung, Datenbankzugriff, Vorlagen und mehr.
Heutzutage haben Programmierer Dutzende von Anwendungsentwicklungsrahmen und Tausende von Komponenten und Bibliotheken leicht zugänglich. Es ist ein häufiger Refrain unter den Programmierern, der bis zum Erlernen eines Framework.
"Nur weil es da ist", könnte eine gültige Rechtfertigung für das Klettern auf einen Berg sein, aber es gibt bessere Gründe, ein bestimmtes Framework zu verwenden - oder überhaupt ein Framework zu verwenden. Es lohnt sich, die Frage zu stellen: Warum Frameworks? Genauer gesagt, warum Laravel?
Warum ein Framework verwenden?
Es ist leicht zu erkennen, warum es vorteilhaft ist, die einzelnen Komponenten oder Pakete zu verwenden, die PHP -Entwicklern zur Verfügung stehen. Mit Paketen ist jemand anderes für die Entwicklung und Aufrechterhaltung eines isolierten Code-Stücks verantwortlich.
Frameworks wie Laravel-und Symfony, Silex, Lumen und Slim-Vorbereitung Eine Sammlung von Komponenten von Drittanbietern sowie benutzerdefinierte Framework „Kleber“ wie Konfigurationsdateien, Dienstanbieter, vorgeschriebene Verzeichnisstrukturen und Anwendungsbootstraps. Der Vorteil der Verwendung eines Frameworks im Allgemeinen besteht darin, dass jemand Entscheidungen nicht nur über einzelne Komponenten für Sie, sondern auch über die Wie diese Komponenten zusammenpassen sollten.
"Ich werde es einfach selbst bauen"
Angenommen, Sie starten eine neue Web -App ohne den Vorteil eines Frameworks. Wo fange du an? Nun, es sollte wahrscheinlich HTTP -Anfragen weiterleiten, sodass Sie jetzt alle verfügbaren HTTP -Anforderungen und Antwortbibliotheken bewerten und einen auswählen müssen.
Dann ein Router. Oh, und Sie müssen wahrscheinlich eine Form von errichten Routes -Konfigurationsdatei. Was Syntax Sollte es verwenden? Wohin soll es gehen? Wie wäre es mit Controller? Wo leben sie und wie werden sie geladen??
Nun, Sie wahrscheinlich benötigen eine Abhängigkeitsinjektion Container, um die Controller und ihre Abhängigkeiten zu beheben, aber welches?
Was ist außerdem, wenn Sie sich die Zeit nehmen, all diese Fragen zu beantworten und Ihre Anwendung erfolgreich zu erstellen? Wie wirkt sich auf den nächsten Entwickler aus??
Was ist, wenn Sie vier so benutzerdefinierte Anwendungen basierend oder ein Dutzend haben und sich daran erinnern müssen, wo die Controller in jedem leben oder wie die Routing-Syntax ist?
Konsistenz- und Flexibilitäts -Frameworks behandeln dieses Problem, indem Sie eine sorgfältig geprüfte Antwort auf die Frage „Welche Komponente hier verwenden, hier angeben?Und sicherstellen, dass die ausgewählten Komponenten gut zusammen funktionieren. Darüber hinaus bieten Frameworks Konventionen, die die Menge an Code verringern, die ein neuer Entwickler des Projekts verstehen muss. Wenn Sie verstehen, wie Routing in einem Laravel -Projekt funktioniert, verstehen Sie beispielsweise, wie es in allen Laravel -Projekten funktioniert.
Wenn jemand für jedes neue Projekt Ihr eigenes Rahmen vorschreibt, ist es in der Fähigkeit, zu kontrollieren, was und nicht in die Grundlage Ihrer Anwendung eingeht und nicht.
Das bedeutet.
Eine kurze Geschichte von Web- und PHP -Frameworks
Ein wichtiger Teil, um die Frage zu beantworten: „Warum Laravel?”Ist das Verständnis von Laravels Geschichte - und zu verstehen, was davor kam. Vor der Erhöhung der Beliebtheit von Laravel gab es eine Vielzahl von Frameworks und anderen Bewegungen in PHP und anderen Webentwicklungsräumen.
Rubin auf Schienen
David Heinemeier Hansson veröffentlichte 2004 die erste Version von Ruby on Rails, und es war seitdem schwierig, ein Webanwendungs -Framework zu finden, das in irgendeiner Weise von Rails nicht beeinflusst wurde.
Rails hat MVC, Rastful JSON -APIs, Konvention über die Konfiguration, aktives Rekord und viele weitere Tools und Konventionen populär gemacht.
Der Zustrom von PHP -Frameworks
Für die meisten Entwickler war es klar, dass Rails und ähnliche Webanwendungsrahmen die Welle der Zukunft waren, und PHP.
CakePhp war der erste im Jahr 2005, und es folgte bald Symfony, Codesigniter, Zend Framework und Kohana (eine Codesigniter -Gabel).
Yii kam 2008 an und Aura und Slim im Jahr 2010. 2011 brachte FuelPhp und Laravel, die beide nicht ganz Codesigniter -Ableger waren, sondern stattdessen als Alternativen vorgeschlagen wurden. Einige dieser Frameworks waren mehr Rails-Y und konzentrierten. Andere, wie Symfony und Zend, konzentrierten sich mehr auf Unternehmensdesignmuster und E -Commerce.
Das Gute und das Schlechte von Codesigniter
CakePhp und Codesigniter waren die beiden frühen PHP -Frameworks, die am offensten waren. Codesigniter stieg schnell berühmt und war bis 2010 wohl die beliebteste der unabhängigen PHP -Frameworks.
Codesigniter war einfach, einfach zu bedienen und prahlte erstaunliche Dokumentation und eine starke Gemeinschaft. Die Verwendung moderner Technologie und Muster wurde jedoch langsam fortgeschritten, und als die Rahmenwelt wuchs und das Tooling von PHP erweiterte, fiel Codesigniter in Bezug auf technologische Fortschritte und Out-of-the-Box-Funktionen zurück.
Im Gegensatz zu vielen anderen Frameworks wurde Codesigniter von einem Unternehmen verwaltet und sie haben nur langsam PHP 5 einholt.3 neuere Funktionen wie Namespaces und die Bewegungen zu Github und späterem Komponisten. Es war 2010 das Taylor Otwell, Laravels Schöpfer wurde mit Codesigniter unzufrieden genug, dass er sich auf den Weg machte, um seinen eigenen Rahmen zu schreiben.
Laravel 1, 2 und 3
Die erste Beta von Laravel 1 wurde im Juni 2011 veröffentlicht und wurde vollständig von Grund auf neu geschrieben. Es enthielt ein individuelles Orm (eloquent); Schließungsbasiertes Routing (inspiriert von Ruby Sinatra); ein Modulsystem für die Erweiterung; und Helfer für Formulare, Validierung, Authentifizierung und mehr.
Später kam Laravel 4 und Laravel 5 und veränderte das ganze Spiel.
Was ist das Besondere an Laravel?
Also, was zeichnet Laravel aus?? Warum lohnt es sich, zu jeder Zeit mehr als ein PHP -Framework zu haben?? Sie alle verwenden sowieso Komponenten von Symfony, richtig? Lassen Sie uns ein wenig darüber sprechen, was Laravel „Tick macht.”
Die Philosophie von Laravel
Sie müssen nur die Laravel -Marketingmaterialien und Readmes lesen, um ihre Werte zu sehen. Taylor verwendet leichte Wörter wie „Illuminate“ und „Spark“.
Und dann gibt es diese: „Handwerker?'' Elegant?'Auch diese: „Atem der frischen Luft." "Neuanfang.Und schließlich: „Schnelles." "Warpgeschwindigkeit.”Die beiden am stärksten kommunizierten Werte des Rahmens sind die Erhöhung der Entwicklergeschwindigkeit und des Entwickler Glücks.
Taylor hat die Sprache „Handwerker“ als absichtlich gegen utilitaristische Werte im Gegensatz zueinander bezeichnet. Sie können die Entstehung dieser Art des Denkens in seiner 2011er Frage zu Stackexchange sehen (http: // bit.ly/2dt5km), in dem er erklärte: “Manchmal verbringe ich lächerliche Menge an Zeit damit, mich darüber zu quälen, dass Code hübsch aussieht” - Nur aus Gründen einer besseren Erfahrung, den Code selbst zu betrachten.
Und er hat oft darüber gesprochen, den Wert zu machen, es für Entwickler einfacher und schneller zu machen, ihre Ideen zum Tragen zu bringen und unnötige Hindernisse für die Schaffung großartiger Produkte loszuwerden. Laravel geht im Kern um die Ausrüstung und Ermöglichung von Entwicklern. Sein Ziel ist es, klare, einfache und schöne Code und Funktionen bereitzustellen, die den Entwicklern dabei helfen.
Das Konzept des Targeting -Entwicklers ist in Laravel -Materialien klar,. "Happy Entwickler machen den besten Code" ist in der Dokumentation geschrieben.
"Entwickler Glück vom Download zum Einsatz" war der inoffizielle Slogan für eine Weile. Natürlich wird jedes Werkzeug oder ein Rahmen sagen, dass es Entwickler glücklich sind. Aber Entwickler Glück als Hauptanliegen als sekundär, hat einen großen Einfluss auf den Stil von Laravel und den Fortschritt der Entscheidungsfindung. Wenn andere Rahmenbedingungen die architektonische Reinheit als ihr Hauptziel oder die Kompatibilität mit den Zielen und Werten von Unternehmensentwicklungsteams abzielen können, liegt der Hauptaugenmerk von Laravel auf dem Diensten des individuellen Entwicklers.
Wie Laravel das Glück des Entwicklers erreicht
Nur zu sagen, dass Sie Entwickler glücklich machen möchten, ist eine Sache. Es ist ein anderer, und Sie müssen in Frage stellen, was in einem Rahmen am wahrscheinlichsten die Entwickler unglücklich macht und was sie am wahrscheinlichsten glücklich macht. Es gibt einige Möglichkeiten, wie Laravel versucht, das Leben der Entwickler zu erleichtern.
Erstens ist Laravel ein schneller Anwendungsentwicklungsrahmen. Das bedeutet. Alle häufigsten Aufgaben beim Erstellen von Webanwendungen, von Datenbankinteraktionen über Authentifizierung über Warteschlangen bis hin zu E -Mail bis hin zu Caching, werden durch die Komponenten, die Laravel bereitstellt, einfacher gemacht.
Aber die Komponenten von Laravel sind nicht nur für sich selbst nicht gut; Sie bieten eine konsistente API und vorhersehbare Strukturen im gesamten Rahmen. Das heißt, wenn Sie in Laravel etwas Neues ausprobieren, werden Sie höchstwahrscheinlich sagen: „... und es funktioniert einfach?''
Dies endet auch nicht im Rahmen selbst. Laravel bietet ein ganzes Ökosystem von Tools zum Erstellen und Start von Anwendungen. Sie haben Homestead und Valet für die lokale Entwicklung, Forge for Server Management und Gesandter für eine erweiterte Bereitstellung.Und es gibt eine Reihe von Add-On-Paketen:
Laravel versucht, die sich wiederholende Arbeit aus den Jobs der Entwickler zu übernehmen, damit sie etwas Einzigartiges tun können.
"Auszüge von - Laravel Up & Running Book"