Paket zum Erstellen eines Admin-Panels in Laravel-Projekten

Was ist Ihrer Meinung nach der schrecklichste und langweiligste Schritt beim Erstellen einer Site in PHP? Meiner Meinung nach ist dies die Erstellung des Admin-Panels. All diese einheitlichen Formulare, Tabellen, eine große Anzahl nahezu identischer Dateien, die nicht nur erstellt, sondern anschließend gepflegt werden müssen. Aus diesem Grund habe ich früher oder später für jedes Framework eine Reihe von Klassen erstellt, um diesen Prozess zu vereinfachen.

Und so kam ich zu Laravel. Ich präsentiere Ihnen ein Paket, mit dem Sie schnell ein Admin-Panel erstellen und mehr Zeit im Frontend verbringen können.

Sie fragen sich, warum ich es mit meinem „Fahrrad“ veröffentlicht habe, damit alle es sehen können? Für mich sind dies seine mehreren Stärken:

Bei der Zero hilft er mir bei realen Projekten. Vielleicht hilft es jemand anderem, und das bedeutet schon, dass nicht alles umsonst gemacht wurde.

Erstens Konfigurationsdateien.

Ich habe die Configs satt, die ein magisch erstelltes Array sind, in dem sich Schlüssel mit bestimmten Namen und Textwerten dieser Schlüssel befinden. Es gibt keine Hilfe für Sie von der IDE bei der automatischen Ersetzung oder Hervorhebung falsch angegebener Werte, um im Projektcode zu finden, wo ein bestimmter Schlüssel aus der Konfiguration speziell verarbeitet wird und was er tut, ist weit von einer trivialen Aufgabe entfernt. Und außerdem ist der Paketcode hier ein schwacher Helfer für Sie, die Dokumentation ist Ihr einziger Freund.

Daher lehnte ich die Konfiguration in Form von Arrays (PHP-Arrays, Yaml-Dateien, es spielt keine Rolle) und kam zu den Konfigurationen in Form von PHP-Code. Hier ist ein kleines Beispiel für die Beschreibung des Ländermodells aus der Demo-Anwendung zur Verwendung im Admin-Bereich.

Admin::model('\Country')->title('Countries')->with('contacts')->columns(function ()
{
	Column::string('title', 'Title');
	Column::count('contacts', 'Contacts')->append(Column::filter('country_id')->model('\Contact'));
})->form(function ()
{
	FormItem::text('title', 'Title');
});


Ich weiß nichts über Sie, aber es scheint mir viel praktischer zum Lesen zu sein als ein Array mit Schlüsseln, obwohl es tatsächlich alle gleichen Informationen enthält.

Einige Vorteile dieses Ansatzes:

  • Ihre IDE kennt den Ausführungskontext dieses Codes und kann Ihnen mitteilen, welche Arten von Spalten oder Formularelementen vorhanden sind und welche zusätzlichen Parameter ein bestimmtes Element benötigt.
  • Ein Tippfehler im Namen des "Schlüssels" führt automatisch zu einem Fehler, den die Konfiguration des Arrays nicht liefern kann.
  • Das Parsen eines Arrays mit so vielen Informationen ist keine angenehme Aufgabe. Sofort existiert es einfach nicht, wodurch der Code sauberer wird.

Zweitens die Erweiterbarkeit.

Sie können Ihre eigenen Spaltentypen und Formularelemente registrieren, die später in Ihren Modellen verwendet werden. Daher sind Sie nicht nur auf die von mir erstellte Funktionalität beschränkt.

Sie können auch eigene Steuerungen für die Bearbeitung bestimmter Menüpunkte registrieren - und hier sind Sie bereits unbegrenzt.

Drittens die Menge an Arbeit, die zum Erstellen des Admin-Panels erforderlich ist.

Sie müssen ein Menü sowie eine Beschreibung jedes Modells erstellen, für das Sie ein Administrationsfenster erstellen müssen. Und das ist alles.

Ich habe dieses Paket hauptsächlich für kleine Projekte mit vielen schwach miteinander verbundenen Modellen erstellt. In der Regel besteht ihr Hauptziel darin, die Daten im Front-End entsprechend dem Design anzuzeigen, und es ist nicht so wichtig, welche Art von Admin-Panel für den Kunden vorhanden sein wird, wenn nur das Hauptziel erreicht wird - die Verwaltung des Inhalts der Website.

GitHub-Quellen | Projektdokumentation | Demo-Anwendung

Jetzt auch beliebt: