Laravel ist ein modernes PHP-Framework, das umfangreiche Funktionen und Tools bereitstellt, damit Entwickler Webanwendungen effizient entwickeln können. Unter diesen ist die modulare Programmierung eine äußerst wichtige Programmieridee, die sich auch in Laravel gut widerspiegelt. In diesem Artikel werden der Prozess und die Schritte zum Erstellen eines neuen Moduls in Laravel vorgestellt.
1. Erstellen Sie die Modulverzeichnisstruktur
In Laravel ist ein Modul eine Sammlung verwandter Controller, Modelle, Ansichten, Sprachpakete usw. Daher wird beim Erstellen eines neuen Bevor Sie ein Modul hinzufügen, müssen Sie die Verzeichnisstruktur des Moduls erstellen. Erstellen Sie im Stammverzeichnis von Laravel ein Verzeichnis mit dem Namen „Modules“ und erstellen Sie in diesem Verzeichnis das Verzeichnis des Moduls „Example“. Die Struktur ist wie folgt:
app/Modules/Example ├── Config │ └── config.php ├── Controllers │ └── ExampleController.php ├── Models │ ├── Example.php │ └── ExampleRepository.php ├── Resources │ ├── Lang │ │ ├── en │ │ │ └── example.php │ │ └── zh │ │ └── example.php │ ├── Views │ │ └── index.blade.php │ └── assets ├── Routes │ ├── api.php │ └── web.php └── Providers └── ExampleServiceProvider.php
In der obigen Verzeichnisstruktur: Das Config-Verzeichnis dient zum Speichern der Konfigurationsdateien des Moduls, das Controllers-Verzeichnis speichert Controller-Dateien, das Models-Verzeichnis speichert Modelldateien, das Resources-Verzeichnis speichert andere Ressourcendateien wie Ansichten, Sprachpakete, statische Dateien usw., die Routen Das Verzeichnis wird zum Speichern der Routing-Dateien des Moduls und das Verzeichnis Providers zum Speichern der Konfigurationsdateien des Moduls zum Speichern des Dienstanbieters dieses Moduls verwendet. Unter ihnen ist „Beispiel“ der Name des Moduls, das entsprechend den tatsächlichen Anforderungen benannt werden kann.
2. Routing-Dateien konfigurieren
In Laravel werden URIs bestimmten Vorgängen zugeordnet. Daher müssen Sie beim Erstellen eines neuen Moduls die Routing-Datei des Moduls konfigurieren. Erstellen Sie im Routenverzeichnis des Beispielmoduls zwei neue Dateien, web.php und api.php, und definieren Sie in diesen beiden Dateien das Front-End- und Back-End-Routing des Moduls.
Hier ist ein Beispiel:
//web.php Route::group(['module' => 'Example', 'middleware' => ['web']], function() { Route::get('/', 'ExampleController@index'); }); //api.php Route::group(['module' => 'Example', 'namespace' => 'AppModulesExampleControllersApi', 'prefix' => 'api/v1', 'middleware' => ['api']], function() { Route::get('/', 'ExampleApiController@index'); });
In diesem Beispiel definiert die Datei web.php eine Get-Anfrage, die das Stammverzeichnis „/“ dem Index des Beispiel-Controllers zuordnet Verfahren. Die Datei api.php definiert eine Get-Anfrage und ordnet „/api/v1“ der Indexmethode des BeispielApiController-Controllers zu. Unter diesen gibt der Parameter „Modul“ an, dass die Route zum Beispielmodul gehört, und der Parameter „Middleware“ gibt an, dass die Route von Web-Middleware oder API-Middleware abhängt. Diese Middleware kann entsprechend den spezifischen Umständen konfiguriert werden.
3. Erstellen Sie einen Controller
Controller ist ein Mechanismus, der in Laravel zur Bearbeitung von Benutzeranfragen verwendet wird. Erstellen Sie im Controllers-Verzeichnis des Beispielmoduls eine neue Datei „ExampleController.php“ und definieren Sie eine Indexmethode als Beispiel.
Der Beispielcode lautet wie folgt:
namespace AppModulesExampleControllers; use AppHttpControllersController; class ExampleController extends Controller { public function index() { return view('example::index'); } }
In diesem Beispiel erbt die Klasse „ExampleController“ von der Klasse „Controller“, die vom Laravel-Framework bereitgestellt wird und eine Indexmethode enthält, die Folgendes übernimmt Das Beispiel der Vorlagendatei: :index gibt zurück.
4. Erstellen Sie eine Ansichtsdatei
In Laravel werden Ansichten verwendet, um HTML-Seiten oder andere Antwortdaten anzuzeigen. Erstellen Sie im Ressourcenverzeichnis des Beispielmoduls ein neues Views-Verzeichnis und erstellen Sie darin index.blade.php. Diese Datei wird als Ansichtsdatei für das Beispiel verwendet.
Der Beispielcode lautet wie folgt:
<!DOCTYPE html> <html> <head> <title>Example</title> </head> <body> <h1>Welcome to Example Module!</h1> </body> </html>
In diesem Beispiel enthält die Datei index.blade.php nur eine einfache Willkommensanweisung, um anzugeben, dass dies die Homepage von ist Modul.
5. Modelle und Dienstanbieter erstellen
In Laravel werden Modelle verwendet, um mit der Datenbank zu interagieren, normalerweise um eine Tabelle zu kapseln. Erstellen Sie im Verzeichnis „Models“ des Moduls „Example“ zwei Dateien, „Example.php“ und „ExampleRepository.php“, die das Modell bzw. die Warehousing-Klasse darstellen. Ihre Funktionen bestehen darin, mit der Datenbank zu interagieren bzw. einige Abfragemethoden zu kapseln.
Nachdem Sie das Modell und die Lagerklasse erstellt haben, müssen Sie im Anbieterverzeichnis einen Dienstanbieter erstellen, um das Modell und die Lagerklasse zu registrieren und die Registermethode des Dienstanbieters zu implementieren.
Der Beispielcode lautet wie folgt:
namespace AppModulesExampleProviders; use IlluminateSupportServiceProvider; class ExampleServiceProvider extends ServiceProvider { public function boot() { } public function register() { $this->app->bind('AppModulesExampleModelsExampleRepositoryInterface', 'AppModulesExampleModelsExampleRepository'); } }
In diesem Beispiel erbt die Klasse „ExampleServiceProvider“ von der Klasse „ServiceProvider“, die vom Laravel-Framework bereitgestellt wird, sowie von der Schnittstelle „ExampleRepository“ und der Implementierungsklasse „ExampleRepository“. werden über die Registermethode registriert. Bei der tatsächlichen Verwendung können Sie die BeispielRepository-Instanz über den Container abrufen und dann ihre Methoden aufrufen, um die Funktion der Interaktion mit der Datenbank zu implementieren.
Zusammenfassung:
Modulare Programmierung ist eine sehr wichtige Programmieridee, die sich auch in Laravel gut widerspiegelt. Durch die oben genannten Schritte können wir ganz einfach ein Modul in Laravel erstellen und die Interaktion mit der Datenbank und spezifischer Geschäftslogik implementieren. In tatsächlichen Projekten gehen der Entwurf und die Implementierung von Modulen natürlich darüber hinaus und müssen auf der Grundlage spezifischer Geschäftsanforderungen angemessen entworfen und entwickelt werden.
Das obige ist der detaillierte Inhalt vonLaravel neuer Modulprozess. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!