Yaravel ist ein kleines, aber robustes PHP-MVC-Framework, das sowohl zum Rendern von HTML als auch als API verwendet werden kann. Es verfügt über ein Anforderungs- und Routingsystem, eine Ansichts-Engine mit Unterstützung für Stylesheets und Javascript sowie ein ORM namens Helloquent für die Datenbankkommunikation. Yaravel ist auf Schnelligkeit, Effizienz und Flexibilität ausgelegt und somit die ideale Wahl für Entwickler, die Webanwendungen mit PHP erstellen möchten.
Tweeter ist eine Twitter-ähnliche App, die auf einer frühen Version dieses Frameworks basiert und es Benutzern ermöglicht, kurze Nachrichten, sogenannte „Tweets“, zu posten und mit anderen durch Likes und das Ansehen ihrer Tweets zu interagieren. Die App bietet einen Echtzeit-Feed der neuesten Tweets der Benutzer.
(Schauen Sie es sich live oder im Repo dieser App an)
Ihre Anwendungsrouten können im Ordner „/routes“ registriert werden. API-Routen sollten in der Datei „api.php“ und Webseiten in der Datei „web.php“ platziert werden.
Um eine Webroute zu registrieren, verwenden Sie die Funktion addRoute für das Router-Objekt. Die Funktion übernimmt die folgenden Parameter:
// $router->addRoute(path, controller path, action);
$ router -> addRoute ( " / " , DefaultController::class, " viewDefault " );
Weitere Informationen finden Sie in den Beispielen in „/routes/web.php“ .
Um eine API-Route zu registrieren, verwenden Sie die API-Funktion für das Router-Objekt. Die Funktion übernimmt die folgenden Parameter:
// $router->addRoute(path, controller path, method);
$ router -> api ( " / " , DefaultController::class);
$ router -> api ( " / " , DefaultController::class, " post " );
Weitere Informationen finden Sie in den Beispielen in „/routes/api.php“ .
Das $this->request- Objekt ist in den Controllern enthalten und eine Instanz der HttpRequest- Klasse. Es enthält alle Daten der Anfrage. Das Objekt verfügt über mehrere Eigenschaften, darunter:
Die HttpResponse- Klasse wird verwendet, um auf API-Aufrufe zu antworten. Es verfügt über eine statische Funktion namens „Respond“, die zwei Parameter hat:
MVC (Model-View-Controller) ist ein Software-Designmuster, das eine Anwendung in drei Hauptkomponenten unterteilt
Die Modellkomponente im Framework ist für die Verarbeitung von Daten und Geschäftslogik sowie für die Kommunikation mit der Datenbank verantwortlich. Dies geschieht durch die Verwendung von Helloquent, einem ORM-Tool, das speziell für das Framework entwickelt wurde. Weitere Einzelheiten finden Sie in der Helloquent -Dokumentation unter diesem Link: https://github.com/you97ssef/Helloquent.
Modelle sollten im Verzeichnis /app/Models
gespeichert werden und die Model
Klasse erweitern (wie durch die Person
Klasse im Code gezeigt).
Die View-Komponente enthält Funktionen, die HTML gemischt mit Daten zurückgeben, die dem Benutzer angezeigt werden sollen. Die verwendeten Daten können vom Controller übergeben werden und über das Attribut (Array) $this->data
abgerufen werden. Ansichten sollten im Verzeichnis /app/views
gespeichert werden und die View
Klasse erweitern (wie durch die Klassen DefaultView
oder ErrorView
im Code gezeigt).
Überarbeiteter Text: Die Controller-Komponente verarbeitet Benutzereingaben und aktualisiert das Modell und die Ansicht entsprechend. Controller sollten im Verzeichnis /app/Controllers
gespeichert werden und die Controller
Klasse erweitern. Es verfügt über eine Eigenschaft $this->request
, die Daten aus der eingehenden Anfrage enthält. Um als Webseite zu reagieren, sollte eine Ansicht definiert und die render
dieser Ansicht aufgerufen werden, z. B. $view->render("renderBody")
. Um auf einen API-Aufruf zu antworten, sollte die respond
aus der HttpResponse
-Klasse verwendet werden, zum Beispiel HttpResponse::respond($data)
. Ein Beispiel finden Sie im DefaultController
.
Die Anwendung startet mit der Datei index.php. Zunächst wird die Anfrage erstellt, gefolgt von der Registrierung von CSS und JS. Als nächstes werden die App-Konfiguration und die Datenbankkonfiguration initialisiert und anschließend der Router eingerichtet. Abschließend wird die App durch den Aufruf von $router->run();
(Weitere Informationen finden Sie in der Datei index.php.)
Dieses Framework ist unter der MIT-Lizenz lizenziert, einer freizügigen Open-Source-Lizenz, die die Nutzung, Änderung und Verbreitung der Software ermöglicht. Die MIT-Lizenz ermöglicht ein hohes Maß an Flexibilität bei der Nutzung der Software und beinhaltet nur minimale Einschränkungen.