Comment Laravel génère-t-il tous les fichiers liés aux commandes du contrôleur de migration de modèle ?
P粉803444331
P粉803444331 2024-01-05 08:40:16
0
2
566

Après ces commandes

php artisan make:model 'FileName' -mcs

Laravel make source du fichier de commande (modèles, contrôleurs, migrations, semoirs, usines, etc...)

Comment sont générés tous les fichiers de base et d'où viennent-ils ?

P粉803444331
P粉803444331

répondre à tous(2)
P粉833546953

Ces fichiers sont générés à partir de fichiers stub. Vous trouverez ci-dessous quelques emplacements de répertoires stub sur n'importe quel projet Laravel. Vous pouvez vérifier cela.

Pour le numéro de modèle :

Autres :

Si vous souhaitez contrôler ces talons, vous devez appliquer la commande ci-dessous

Cette commande publiera les fichiers stub dans le dossier "stubs" du répertoire du projet. Vous pourrez ensuite le personnaliser selon vos besoins.

P粉685757239

Tout le contenu généré dans Laravel utilise des modèles

Si vous exécutez la commande artisan dans la console, vous pouvez observer qu'il existe une section appelée Stub et que la seule commande de cette section est php artisan stub:publish.

Si vous exécutez cette commande, elle générera un nouveau dossier appelé Stubs dans le dossier racine de votre application contenant un tas de fichiers avec une extension .stub.

Vous pouvez ouvrir ces fichiers et les modifier ou les personnaliser selon vos besoins. À partir de maintenant, votre application Laravel lira dans ce dossier des modèles permettant de réaliser diverses choses que les artisans fabriquent généralement.

Ce modèle est inclus avec chaque installation de Laravel et leur publication est totalement facultative. En fait, il existe de nombreux logiciels dédiés à la création de contrôleurs ou de modèles personnalisés, comme celui-ci de Spatie p>

La structure interne au dessus du générateur Laravel a deux cœurs,

  1. Le premier en application/console/noyau
  2. Le deuxième dans
  3. app/Http/kernel

Lorsque vous exécutez artisan, Laravel démarre l'application et exécute la console du noyau. Les deux noyaux ont des objectifs différents et fonctionnent en réalité comme des applications distinctes.

Concernant la génération spécifique des fichiers ci-dessus, je veux dire différents contrôleurs, modèles, migrations, etc. Tout ce qui concerne le modèle est généré à partir d'une classe.

类 ModelMakeCommand 扩展 GeneratorCommand{ .... }

est situé sous l'espace de noms IlluminateFoundationConsole.

Vous pouvez inspecter le code de cette classe et voir comment le fichier stub est utilisé pour générer uniquement diverses commandes liées au modèle, mais il y en a bien d'autres comme des politiques, des événements, des tâches, etc...

J'espère que cela vous aidera et répondra à vos questions

Voici plus d'informations sur ce sujetde Laravel News p>

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal