Einführung in PHP Frameworks

Bevor wir einen tiefen Einblick in PHP Frameworks erhalten, wollen wir uns darüber unterhalten, warum wir Frameworks benötigen und wie sie das Leben eines Entwicklers vereinfachen.

Wann immer wir eine Website entwickeln möchten, müssen viele Dinge in der Architektur in eine Linie gebracht werden, bevor mit der eigentlichen Linie fortgefahren wird, beispielsweise die Entscheidung, wie ein webbasierter Anruf seinen Weg von der Client-Seite zur Server-Seite durchläuft, was ohne Verlust der Allgemeinheit erfolgt Überprüfen der Art der Anforderung (Get, Post oder Put), Protokollieren des Audit-Trails, Interceptor-Management usw.

Wenn Sie den Vanilla-Ansatz ohne Einbindung von Frameworks verfolgen möchten, müssen Sie wahrscheinlich alle Instanzen verwalten (wie Cross-Site-Scripting), wodurch wahrscheinlich mehrere Entwickler für dieselbe Instanz eingestellt werden, was sich unglücklicherweise positiv auf die Sicherheit auswirkt Kosten für die Anwendungsentwicklung.

Lassen Sie uns nun untersuchen, welche Art von Frameworks wir für die PHP-Entwicklung haben, und das beste auswählen, das zu unserer zu entwickelnden Anwendung passt (unter Berücksichtigung des Geschäftsbereichs, für den die Entwicklung durchgeführt wird, und der strengen Geschäftsregeln).

Liste der PHP-Frameworks

Hier ist eine Liste der besten PHP-Frameworks, basierend auf der Popularität und der Fähigkeit, die Anwendungsentwicklung zu erleichtern.

Laravel

Es ist ein Open-Source-Framework, das der auf Model-View-Controllern basierenden Architektur folgt. Die verschiedenen Funktionen sind:

  1. Composer ist seit Laravel 4 verfügbar und fungiert als Abhängigkeitsmanager, um Framework-Agnostic hinzuzufügen.
  2. Eloquent ORM, dh eine aktive Implementierung eines Datensatzmusters.
  3. Der Abfrage-Generator bietet eine Reihe von Klassen.
  4. Laravel inspiriert extrem sauberen und lesbaren Code und vereinfacht so das Leben der Entwickler.
  5. Laravel bietet robuste Sicherheit für Webanwendungen, da es Kennwort-Hashing, Verschlüsselung, E-Mail-Überprüfung und API-Authentifizierung umfasst.
  6. Geschütztes und sicheres Routing ist gewährleistet, alle Laravel-Routen sind im Routenverzeichnis definiert und diese Dateien werden vom Framework automatisch heruntergeladen.
  7. Das CSRF-Token wird an URLs angehängt, um eine siteübergreifende Fälschung zu verhindern.
  8. Im Frontend bietet das Framework Funktionen wie Blade-Template (Template-Engine), Lokalisierung, Javascript und CSS-Scaffolding.
  9. Unterstützt Redis (Schlüsselwertspeicher), Paginierung, Migrationen (Freigabe des Datenbankschemas), Datenbank-Seeding,
  • Serveranforderungen vor der Arbeit mit Laravel.

Verwenden Sie am besten die virtuelle Maschine Laravel Homestead. Es wird daher dringend empfohlen, diese als lokale Laravel-Entwicklungsumgebung zu verwenden.

Wenn Sie Homestead nicht verwenden, ist Folgendes erforderlich:

  • PHP> = 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • BCMath PHP Extension

Laravel installieren

Laravel nutzt Composer, um seine Abhängigkeiten zu verwalten. Die Hauptanforderung ist daher, dass Composer vorinstalliert ist.

Laden Sie dann das Laravel-Installationsprogramm mit dem unten angegebenen Composer herunter.

Composer Global erfordert Laravel / Installer.

  • Erstellen eines Projekts über Composer

Composer create-project - bevorzugen-dist Laravel / Laravel-Blog

  • Lokaler Entwicklungsserver

PHP Handwerker dienen

CodeIgniter

CodeIgniter ist ein Open Source-Entwicklungsframework, das die folgenden Funktionen bietet:

  1. Es erfordert keine strenge Implementierung des Model-View-Controllers, der Controller ist obligatorisch, Modell und Ansicht sind optional.
  2. Es gibt Hilfsfunktionen wie URL-Helfer, die die Linkerstellung unterstützen, Formular-Helfer, Text-Helfer zum Formatieren von Text und Cookie-Helfer zum Setzen und Lesen von Cookies.
  3. Sie können neue Bibliotheken erstellen, native Bibliotheken ersetzen und entfernen.
  4. Die Hooks-Funktion bietet eine Möglichkeit, das Innenleben des Frameworks abzurufen und zu ändern, ohne die Kerndateien zu hacken.
  5. Dort befindet sich die Funktion zum automatischen Laden, mit der Bibliotheken, Hilfsprogramme und Modelle bei jedem Systemlauf automatisch initialisiert werden können.
  6. CodeIgniter bietet eine Funktion zum Zwischenspeichern von Seiten, wodurch die Leistung verbessert wird.
  7. CodeIgniter verfügt über eine Fehlerprotokollierungsklasse, mit der Fehler- und Debug-Meldungen als Textdateien gespeichert werden können.
  8. URI-Routing ist vorhanden, die URL-Zeichenfolge ist dem Controller eindeutig zugeordnet.
  9. Passwort-Hash gibt es für PHP-Version> 5.5
  10. Im Datenbankteil stehen verschiedene Funktionen zur Verfügung: QueryBuilder, QueryCaching, Transaktionen usw.
  11. Umgebungsvariablen können festgelegt werden, um zu entscheiden, wo die Anwendung ausgeführt werden muss, z. B. mit Entwicklungsumgebung oder Produktion.
  • Wie installiere ich CodeIgniter -
  1. Laden Sie CodeIgniter von Click Here herunter
  2. Packen Sie das Paket aus.
  3. Laden Sie die CodeIgniter-Ordner und -Dateien auf Ihren Server hoch. Normalerweise befindet sich die Datei index.php in Ihrem Stammverzeichnis.
  4. Öffnen Sie die Datei application / config / config.php mit einem Texteditor und legen Sie Ihre Basis-URL fest. Wenn Sie die Verschlüsselung oder Sitzungen verwenden möchten, legen Sie Ihren Verschlüsselungsschlüssel fest.
  5. Wenn Sie eine Datenbank verwenden möchten, öffnen Sie die Datei application / config / database.php mit einem Texteditor und legen Sie Ihre Datenbankeinstellungen fest.

Symfony

Symfony ist eine Open-Source-Software. Symfony-Komponenten bestehen aus entkoppelten und wiederverwendbaren PHP-Bibliotheken. Es zielt auf die Entwicklung robuster Unternehmensanwendungen ab und soll Entwicklern die vollständige Kontrolle über die Konfiguration vom Verzeichnis bis zur Fremdbibliothek geben und kann angepasst werden.

Symfony ist mit folgenden Funktionen ausgestattet:

  1. Lokalisiertes Routing (i18n) wird bereitgestellt, wodurch die Routen lokalisiert werden können, um eindeutige Pfade pro Gebietsschema bereitzustellen. Mit Symfony können diese Routen ohne Duplikation geschrieben werden, Wildcards werden ebenfalls unterstützt.
  2. Twig-Templates sind vorhanden, sie sind einfach und verarbeiten die PHP-Tags nicht. Twig kann automatisches HTML-Escaping, manuelles Kontext-Output-Escaping und einige Filter einbinden.
  3. Das Zwischenspeichern von Twig-Vorlagen beschleunigt den Prozess, da Vorlagen in eine native PHP-Klasse kompiliert und zwischengespeichert werden.
  4. Die Asset-Komponente dient zur URL-Generierung und -Versionierung von CSS, JS und Bildern.
  5. Die BrowserKit-Komponente simuliert das Verhalten eines Webbrowsers und ermöglicht es, Anfragen zu stellen, auf Links zu klicken und Formulare programmgesteuert zu senden.
  6. Es gibt eine Dependency Injection-Komponente, die einen PSR-11-kompatiblen Service-Container implementiert, der die Standardisierung und Zentralisierung von Objekten in der Anwendung ermöglicht.
  7. Die DOMCrawler-Komponente vereinfacht die DOM-Navigation für HTML- und XML-Dokumente.
  8. Die Dotenv-Komponente dient dazu, Umgebungsvariablen in ENV-Variablen zu speichern.
  9. Event Dispatcher ist vorhanden, damit Komponenten über Event Dispatch kommunizieren und diese abhören können.
  10. Die LDAP-Komponente ist bereits vorhanden, um mit dem LDAP-Server zu kommunizieren.
  11. Die ExpressionLanguage-Komponente stellt eine Engine bereit, mit der Ausdrücke kompiliert und ausgewertet werden können.
  12. Die Polyfill / APCu-Komponente stellt Benutzern mit älteren APC-Erweiterungen apcu_ * -Funktionen und die ACPUIterator-Klasse zur Verfügung.
  13. Mit der Serializer-Komponente können Objekte in Formaten wie JSON, XML oder YAML konvertiert werden.
  • Installationsschritte

Befolgen Sie zum Herunterladen die folgenden Schritte. Composer muss auf dem System vorinstalliert sein.

Komponist benötigt Symphonie / Asset

Für den oben genannten Download einzelner Komponenten besuchen Sie bitte -

https://symfony.com/components

CakePHP

CakePHP ist eine Open-Source-Plattform, die das Erstellen von Webanwendungen einfach und schneller macht und weniger Code benötigt. CakePHP bietet folgende Funktionen:

  1. Bietet Gerüste für den schnellen Bau von Prototypen.
  2. CakePHP enthält eine Cache-Klasse, die das Caching unterstützt und die statische Schnittstelle und die einheitliche API für die Interaktion mit verschiedenen Caching-Implementierungen bereitstellt.
  3. Die Hash-Klasse stellt statische Dienstprogramme zur Verfügung, die eine ordnungsgemäße Array-Verwaltung ermöglichen und so den Code optimieren.
  4. Die Inflector-Klasse dient zum Manipulieren der bereitgestellten Zeichenfolge und zum Behandeln von Wortvariationen wie Pluralisierung und Kamelisierung.
  5. In CakePHP ist die Protokollierung einfach, die log () -Funktion wird von LogTrait bereitgestellt.
  6. Der schnellste Weg, um mit REST loszulegen, besteht darin, einige Zeilen hinzuzufügen, um Ressourcenrouten in der Datei config / routes.php einzurichten
  7. Das Validierungspaket in CakePHP bietet Funktionen zum Erstellen von Validatoren, mit denen beliebige Datenfelder problemlos validiert werden können.
  8. Verschiedene Plug-Ins werden für die Verwendung in Verbindung mit CakePHP unterstützt. Dies sind Chronos (eine Sammlung von Erweiterungen für das DateTime-Objekt ohne Abhängigkeit), DebugKit (mit Debugging-Symbolleiste und erweiterten Debugging-Werkzeugen), ElasticSearch (eine ORM-ähnliche Abstraktion) Elasticsearch erleichtert das Testen und Indizieren von Dokumenten.
  9. Mit Phinx und CakePHP, phinx können die Entwickler Datenbanken auf übersichtliche Weise ändern und manipulieren. Sie müssen SQL nicht manuell schreiben, sondern phinx bietet leistungsstarke APIs zum Erstellen von Migrationen mit PHP-Code.
  10. Bake Console wird bereitgestellt, um CakePHP schneller auszuführen. Bake Console kann Modelle, Ansichten, Verhaltensweisen, Testfälle, Fixtures und Plugins erstellen.

Phinx kann einfach installiert werden durch:

PHP-Komponist. phar benötigen robmorgan / phinx

Der Middleware-Support ist vorhanden, damit wir unsere Anwendung in wiederverwendbare und zusammensetzbare Ebenen für die Bearbeitung von Anfragen oder die Erstellung von Antworten einbetten können.

  • Installation und Voraussetzungen:

Beschreiben wir einige Voraussetzungen, die erfüllt sein müssen, bevor wir mit der Installation beginnen:

  1. HTTP Server (Apache, Nginx oder Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP-Erweiterung
  4. intl PHP extension (wenn Sie XAMPP verwenden, muss die intl-Erweiterung enthalten sein, aber stellen Sie sicher, dass Sie extension = php_intl.dll in Php.ini auskommentieren und den XAMPP-Server über die Systemsteuerung neu starten. Falls Sie WAMP verwenden, ist die intl-Erweiterung standardmäßig aktiviert Sie müssen nur in den PHP-Ordner gehen und alle Dateien auch in die icu * .dll kopieren und in das Verzeichnis apache bin einfügen, dann die Dienste neu starten.
  5. Simplexml PHP-Erweiterung
  6. PDO PHP-Erweiterung
  7. Alle Datenbanken in der angegebenen Liste müssen auf Ihrem Computer installiert sein:
  • MySQL (v5.5.3 oder höher)
  • MariaDB (v 5.5 oder höher)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL Server (> = Version 2008)

FuelPHP

FuelPHP ist ein Open-Source-Framework, das ab PHP 5.4 schnell und kompatibel ist. Die enthaltenen Funktionen sind unten aufgeführt.

  1. Es handelt sich um ein MVVM-Framework, das nicht nur auf den Model-View-Controller beschränkt ist, sondern auch den Model-View-ViewModel-Ansatz unterstützt. Die viewModels werden auch Präsentationsmodelle genannt.
  2. FuelPHP unterstützt einen Router-basierten Ansatz, mit dem wir den URI direkt schreiben können.
  3. Unterstützt die CSRF-Token, um das Fälschen von Cross-Site-Skripten zu verhindern.
  4. Eingabefilter und Abfrage-Generator helfen bei der SQL-Injection.
  5. Das Authentifizierungsframework wird für sichere Authentifizierungszwecke unterstützt.
  6. FuelPHP bietet eine CLI mit dem Namen "oil", mit der die Entwicklung, die Unterstützung beim Testen und das Debuggen beschleunigt werden sollen. Es hilft auch beim Ausführen von Datenbankmigrationen.
  7. Einige Basisklassen werden für die Controller und Modelle bereitgestellt, damit die Entwickler einen fliegenden Start haben. Solche Funktionen sind: Controller_Template (Hinzufügen einer einfachen Seitenvorlagenfunktion zu den Controllern), Controller_Rest (Möglichkeit zur RESTful-API-Erstellung), Controller_Hybrid (Kombinieren von zwei Funktionen) Model_crud (stellt alle Methoden für CRUD-Operationen in einer einzigen Tabelle bereit).
  8. Lightweight ORM bietet eine objektorientierte Methode zum Arbeiten mit Datenbankdaten und zum Ausführen von CRUD. Beziehungs-Likes gibt es viele, viele, überlappende Speicher- und Löschvorgänge für verwandte Objekte. Beobachter sind dazu da, Objektinstanzen zu aktualisieren.
  9. Sicherheit beinhaltet das Auth-Framework und hat die Opauth-Bibliothek integriert und bietet verschiedene andere Funktionen wie rollenbasierte Zugriffskontrolle (RBAC), sichere Hashing-Funktion für Kennwörter und OAuth-Integration für die Authentifizierung in sozialen Medien.
  10. Es gibt Template-Parser zur Verbesserung der Ansichten von einfachem PHP, zahlreiche Bibliotheken sind dafür da:
    1. Schnurrbart
    2. Zweig
    3. Haml
    4. Jade
    5. Dawoo
    6. Schlau
    7. Abschrift
  • Installationsschritte -

Bitte befolgen Sie die angegebenen Schritte für das gleiche -

$ curl https://get.fuelphp.com/oil | Sch

Das Projekt kann mit erstellt werden

$ Öl schaffen

$ composer create-project fuel / fuel –prefer-dist

Fazit - PHP Frameworks

In der obigen Dokumentation haben wir mehrere PHP-Frameworks genannt, mit denen mehrere Funktionen für die Codeentwicklung bereitgestellt werden. Die Analyse der zu befolgenden Anforderungen und Entwurfsmuster muss zuerst erörtert werden, bevor eine davon ausgewählt wird. Die Frameworks waren vielfältig und stellten verschiedene Plug-Ins bereit, mit denen die Protokollierung und die Verfolgung von Metriken möglich wurden.

Das von Laravel als Lumen bezeichnete Framework wird bei der Suche nach der Entwicklung von Microservices sehr geschätzt, da sich die Microservices-Architektur von monolithischen Anwendungen unterscheidet. Die Protokollierungsmechanismen, das Datenbankhandling, die Authentifizierungssicherheit und die Implementierung sind vor dem Codieren von größter Bedeutung.

Eine andere Sache, die bei der Auswahl eines Frameworks beachtet werden muss, ist die Domäne, für die die Anwendung entwickelt wird, z. B. Bank- und Finanzdienstleistungen, Lieferkettenmanagement, Biowissenschaften, Einzelhandel oder soziale Netzwerke.

Weil wir basierend auf diesen Domänen Plug-Ins und Designs für die verteilte Ablaufverfolgung, Wiederholungsversuche usw. einbinden müssen.

Daher kann ein Codierer mit jedem der genannten Frameworks fortfahren, nachdem er die Merkmale in enger Verbindung mit der Anwendung bewertet hat.

Empfohlene Artikel

Dies war ein Leitfaden für PHP Frameworks. Hier haben wir die Liste der PHP-Frameworks mit ihren Funktionen und den Installationsschritten besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Was ist PHP? Was sind die Verwendungen?
  2. Ausführlicher Leitfaden zu Was ist PHP Array?
  3. Vorteile der PHP-Programmierung
  4. Einführung in PHP | Komplette Tutorials
  5. MariaDB vs MySQL | Vergleich der Top-Datenbank-OpenSources
  6. Hashing-Funktion in PHP | Wie man arbeitet?