Laravel est un framework PHP moderne qui fournit une multitude de fonctions et d'outils, permettant aux développeurs de développer efficacement des applications Web. Parmi eux, la programmation modulaire est une idée de programmation extrêmement importante, et elle se reflète également bien dans Laravel. Cet article présentera le processus et les étapes de création d'un nouveau module dans Laravel.
1. Créer la structure de répertoires du module
Dans Laravel, un module est une collection de contrôleurs, de modèles, de vues, de packages de langage, etc. associés. Par conséquent, avant de créer un nouveau module, vous devez d'abord créer la structure de répertoires du module. Dans le répertoire racine de Laravel, créez un répertoire nommé "Modules", et créez le répertoire du module "Exemple" dans ce répertoire. La structure est la suivante :
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
Dans la structure de répertoires ci-dessus, le répertoire Config est utilisé pour. stocke le fichier de configuration du module. Le répertoire Controllers stocke les fichiers de contrôleur, le répertoire Models stocke les fichiers de modèle, le répertoire Resources stocke d'autres fichiers de ressources, tels que les vues, les packs de langue, les fichiers statiques, etc., le répertoire Routes est utilisé pour stocker le routage. fichiers du module, et le répertoire Providers est utilisé pour stocker les services du fournisseur de module. Parmi eux, Exemple est le nom du module, qui peut être nommé en fonction des besoins réels.
2. Configurer les fichiers de routage
Dans Laravel, le routage est l'endroit où les URI sont mappés à des opérations spécifiques. Par conséquent, lors de la création d'un nouveau module, vous devez configurer le fichier de routage du module. Dans le répertoire Routes du module Exemple, créez deux nouveaux fichiers, web.php et api.php, et définissez le routage front-end et back-end du module dans ces deux fichiers.
Voici un exemple :
//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'); });
Dans cet exemple, le fichier web.php définit une requête get, mappant le répertoire racine "/" à la méthode d'index du contrôleur Exemple. Le fichier api.php définit une requête get, mappant "/api/v1" à la méthode d'index du contrôleur SampleApiController. Parmi eux, le paramètre 'module' spécifie que la route appartient au module Exemple, et le paramètre 'middleware' spécifie que la route dépend d'un middleware web ou d'un middleware api. Ces middlewares peuvent être configurés en fonction de circonstances spécifiques.
3. Créer un contrôleur
Un contrôleur est un mécanisme utilisé dans Laravel pour gérer les demandes des utilisateurs. Dans le répertoire Controllers du module Exemple, créez un nouveau fichier ExempleController.php et définissez une méthode d'index comme exemple.
L'exemple de code est le suivant :
namespace AppModulesExampleControllers; use AppHttpControllersController; class ExampleController extends Controller { public function index() { return view('example::index'); } }
Dans cet exemple, la classe SampleController hérite de la classe Controller fournie par le framework Laravel. Elle contient une méthode d'index qui renvoie le fichier modèle example::index.
4. Créer un fichier de vue
Dans Laravel, les vues sont utilisées pour afficher des pages HTML ou d'autres données de réponse. Dans le répertoire Resources du module Exemple, créez un nouveau répertoire Views et créez-y index.blade.php. Ce fichier est utilisé comme fichier de vue pour l'exemple.
L'exemple de code est le suivant :
Dans cet exemple, le fichier index.blade.php ne contient qu'une simple instruction de bienvenue pour indiquer qu'il s'agit de la page d'accueil du module.
5. Créer des modèles et des fournisseurs de services
Dans Laravel, le modèle est utilisé pour interagir avec la base de données, généralement utilisée pour encapsuler une table. Dans le répertoire Modèles du module Exemple, créez deux fichiers, Exemple.php et ExempleRepository.php, représentant respectivement le modèle et la classe d'entreposage. Leurs fonctions sont respectivement d'interagir avec la base de données et d'encapsuler certaines méthodes de requête.
Après avoir créé le modèle et la classe de stockage, vous devez créer un fournisseur de services dans le répertoire Providers pour enregistrer le modèle et la classe de stockage, et implémenter la méthode d'enregistrement du fournisseur de services.
L'exemple de code est le suivant :
namespace AppModulesExampleProviders; use IlluminateSupportServiceProvider; class ExampleServiceProvider extends ServiceProvider { public function boot() { } public function register() { $this->app->bind('AppModulesExampleModelsExampleRepositoryInterface', 'AppModulesExampleModelsExampleRepository'); } }
Dans cet exemple, la classe ExempleServiceProvider hérite de la classe ServiceProvider fournie par le framework Laravel, et l'interface ExempleRepository et la classe d'implémentation ExempleRepository sont enregistrées via la méthode de registre. En utilisation réelle, vous pouvez obtenir l'instance SampleRepository via le conteneur, puis appeler ses méthodes pour implémenter la fonction d'interaction avec la base de données.
Résumé :
La programmation modulaire est une idée de programmation très importante, et elle se reflète également bien dans Laravel. Grâce aux étapes ci-dessus, nous pouvons facilement créer un module dans Laravel et implémenter une interaction avec la base de données et une logique métier spécifique. Bien entendu, dans les projets réels, la conception et la mise en œuvre des modules vont au-delà et doivent être raisonnablement conçues et développées en fonction des besoins spécifiques de l'entreprise.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!