artisan est le nom de l'outil de ligne de commande fourni avec Laravel. Il fournit des commandes utiles pour le développement d'applications ; artisan est piloté par le puissant composant Symfony Console. Les développeurs peuvent utiliser la commande list pour afficher toutes les commandes Artisan disponibles. .
L'environnement d'exploitation de cet article : système Windows 7, Laravel version 5.7, ordinateur Dell G3.
Qu'est-ce qu'un artisan à Laravel ?
Explication détaillée de l'utilisation de l'outil artisan (commande) dans laravel
outil artisan, tout d'abord, il s'agit d'un fichier php, qui est placé dans le répertoire racine de notre framework laravel
Introduction à Outil Artisan
Artisan est le nom de l'outil de ligne de commande fourni avec Laravel. Il fournit quelques commandes utiles pour le développement de votre application. Il est alimenté par le puissant composant Symfony Console. Afin de voir toutes les commandes Artisan disponibles, vous pouvez les lister à l'aide de la commande list :
Exécuter dans le scriptphp artisan list
peut afficher toutes les commandesphp artisan list
可以查看所有的命令
那么熟悉linux的知道,不管什么命令都有一个help命令,当运行的时候,忽然之间,忘了的话,可以执行help命令去查看一下我们需要的命令,同样的在laravel框架中也可以去执行help命令去查看如: php artisan help migrate
利用artisan工具创建控制器
了解tp框架的同学,能知道,如果去创建一个控制器,需要自己去手写,命名空间,继承类等
那么在laravel中,还可以利用artisan工具去执行,如创建一个MsgController php artisan make:controller MsgController
执行之后,’apphttpControllers’会多出一个MsgController,并且也准备好了方法增,删,改,查,等如果不需要那怎么办呢?很简单,一是直接删除,二利用命令生成空白的控制器如: php artisan make:controller --plain
但是,有的同学会遇到这种情况,如,一个项目分前台和后台,相应的控制器也需要放置在不同的目录下,这种怎么处理呢,如果用artisan工具?比如创建一个AdminGoodsController
php artisan make:controller AdminGoodsController
Ceux qui connaissent Linux savent que quelle que soit la commande, il existe une aide. commande. Lors de l'exécution, si vous oubliez, vous pouvez exécuter la commande help pour vérifier les commandes dont nous avons besoin. De même, dans le framework laravel, vous pouvez également exécuter la commande help pour vérifier, telle que : php artisan help migrate
Créé à l'aide de l'outil artisanal Controller
Les étudiants qui connaissent le framework TP sauront que si vous créez un contrôleur, vous devez écrire à la main, un espace de noms, des classes héritées, etc.
Ensuite, dans Laravel, vous pouvez également utiliser des outils artisanaux pour exécuter, comme créer un MsgController 🎜 php artisan make: controller MsgController
🎜 Après l'exécution, 'apphttpControllers' aura un MsgController supplémentaire, et les méthodes sont également prêtes à ajouter, supprimer, modifier, vérifier, etc. Et si vous n'en avez pas besoin ? simple. La première consiste à le supprimer directement. 2. Utilisez des commandes pour générer des contrôleurs vierges tels que : 🎜php artisan make:controller --plain
🎜🎜Cependant, certains étudiants seront confrontés à cette situation. Par exemple, un projet est divisé en frontend et backend, et les contrôleurs correspondants doivent également être placés dans un répertoire différent, comment gérer cela, si vous utilisez des outils artisanaux ? Par exemple, créez un AdminGoodsController🎜🎜php artisan make:controller AdminGoodsController
🎜 Le principe est que le dossier Admin a été créé sous AppHttpControllers. dans le projet laravel. Après l'exécution, vous constaterez qu'il y a un GoodsController supplémentaire sous le fichier admin, ouvrez-le et constatez que l'espace de noms est automatiquement organisé 🎜 Cette instruction de commande vérifie la flexibilité du framework laravel, les développeurs peuvent le spécifier ; à volonté ; 🎜🎜🎜🎜Utiliser des outils artisanaux pour créer des modèles🎜🎜🎜🎜 en tant que membres du programme, lors du développement du projet, nous devons faire fonctionner la base de données, elle doit donc être liée au modèle, alors comment utiliser l'outil artisanal créer un modèle ? C'est similaire au contrôleur, comme créer un modèle Msg🎜marque artisanale php:model Msg
php artisan make:model Msg
在laravel中,它默认是放在App目录下,那如果想要定义自己的文件夹呢和控制器也是一样的我们指定它的目录即可,不过要注意的是把命名空间需要改变一下
利用artisan工具查看路由
在laravel框架中,如果想要在浏览器中去响应控制器中的方法,那么只需要,在Approutes.php中去指定路由即可,但是如果我们使用资源路由,只需指定一条路由即可,并且,它也直接生成好多方法,但我们是看不到的,那么怎么办呢? php artisan route:list
利用这条命令可以查看所有的路由
利用artisan工具创建中间件
首先在laravel中,中间件也是一个非常方便的东西,那么中间件是什么呢?
简单的理解就是,中间件可以放到我们的控制器的方法前或后去执行,来影响执行的结果.
用过,laravel框架做过项目的都知道,每当post提交的时候,都会报一个Token的错误,解决办法是加个
{!!csrf_field()!!}即可,但是根本原因在哪里呢?
在apphttpmiddlewareVerifyCsrfToken.php
的问题,把这个中间件发在全局上,每当去post的提交的时候就会验证;
如何去生成一个中间件呢?
php artisan make:middleware EmailMiddleware
Dans laravel, il est placé par défaut dans le répertoire App Si vous souhaitez définir votre propre dossier, c'est le même que le contrôleur Nous pouvons spécifier son répertoire, mais veuillez noter que le nom L'espace. doit être modifié
Utilisez l'outil artisanal pour afficher le routage
Dans le framework Laravel, si vous souhaitez répondre à la méthode dans le contrôleur dans le navigateur , Ensuite, nous n'avons besoin que de spécifier la route dans Approutes.php, mais si nous utilisons le routage des ressources, nous n'avons besoin que de spécifier une route, et cela génère également directement de nombreuses méthodes, mais nous ne pouvons pas la voir, alors que devons-nous faire ?Tout d'abord, dans Laravel, le middleware est également une chose très pratique, alors qu'est-ce qu'un middleware 🎜 Compréhension simple Autrement dit, le middleware peut ? être exécuté avant ou après la méthode de notre contrôleur pour affecter le résultat de l'exécution. 🎜 Quiconque a utilisé le framework Laravel et réalisé des projets sait que chaque fois qu'un message est soumis, un jeton sera signalé. Erreur, la solution est d'ajouter 🎜 { !!csrf_field()!!}, mais quelle est la cause profonde ? 🎜 DansUtilisez l'outil artisanal pour créer un middleware
route artisanale php : list
Utilisez cette commande pour afficher toutes les routes
apphttpmiddlewareVerifyCsrfToken.php
problème, envoyez ce middleware globalement, chaque fois que vous postez la soumission. Il sera vérifié ;🎜🎜Comment générer un middleware ?🎜🎜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!