在上一篇文章中,學習了如何使用artisan工具去生成遷移文件,并了解到,使用遷移文件的優(yōu)點,同樣的也是laravel框架的一個非常優(yōu)勢的地方,最重要的一點是,方便團隊開發(fā)
- 注意 在laravel框架中,創(chuàng)建遷移文件的要求
1.把本地的php腳本配置好
2.利用php腳本,使用laravel自帶的artisan工具去創(chuàng)建
那么今天我們就學習artisan工具,首先,這個是一個php文件,它放在我們laravel框架的根目錄
Artisan工具簡介
Artisan 是 Laravel 中自帶的命令行工具的名稱。它提供了一些對您的應用開發(fā)有幫助的命令。它是由強大的 Symfony Console 組件驅動的。為了查看所有可用的 Artisan 的命令,您可以使用 list 命令來列出它們:
在腳本中執(zhí)行php artisan list可以查看所有的命令
那么熟悉linux的知道,不管什么命令都有一個help命令,當運行的時候,忽然之間,忘了的話,可以執(zhí)行help命令去查看一下我們需要的命令,同樣的在laravel框架中也可以去執(zhí)行help命令去查看如:
php artisan help migrate
利用artisan工具創(chuàng)建控制器
了解tp框架的同學,能知道,如果去創(chuàng)建一個控制器,需要自己去手寫,命名空間,繼承類等
那么在laravel中,還可以利用artisan工具去執(zhí)行,如創(chuàng)建一個MsgController
php artisan make:controller MsgController
執(zhí)行之后,'app\http\Controllers'會多出一個MsgController,并且也準備好了方法增,刪,改,查,等如果不需要那怎么辦呢?很簡單,一是直接刪除,二利用命令生成空白的控制器如:
php artisan make:controller --plain
但是,有的同學會遇到這種情況,如,一個項目分前臺和后臺,相應的控制器也需要放置在不同的目錄下,這種怎么處理呢,如果用artisan工具?比如創(chuàng)建一個Admin\GoodsController
php artisan make:controller Admin\GoodsController
前提是在laravel項目中的App\Http\Controllers下已創(chuàng)建Admin文件夾,執(zhí)行之后會發(fā)現(xiàn),admin下多出GoodsController的文件,打開,發(fā)現(xiàn)命名空間也自動整理好;
這條命令指示,驗證了laravel框架的靈活性,開發(fā)者可以隨意的去指定;
利用artisan工具創(chuàng)建model
作為程序員,開發(fā)項目的同時,我們需要去操作數(shù)據(jù)庫,那么肯定就與model有關系,那么如何使用artisan工具去創(chuàng)建一個model呢?和控制器,大同小異,比如創(chuàng)建一個Msg的model
php artisan make:model Msg
在laravel中,它默認是放在App目錄下,那如果想要定義自己的文件夾呢和控制器也是一樣的我們指定它的目錄即可,不過要注意的是把命名空間需要改變一下
利用artisan工具查看路由
在laravel框架中,如果想要在瀏覽器中去響應控制器中的方法,那么只需要,在App\routes.php中去指定路由即可,但是如果我們使用資源路由,只需指定一條路由即可,并且,它也直接生成好多方法,但我們是看不到的,那么怎么辦呢?
php artisan route:list
利用這條命令可以查看所有的路由
利用artisan工具創(chuàng)建中間件
首先在laravel中,中間件也是一個非常方便的東西,那么中間件是什么呢?
簡單的理解就是,中間件可以放到我們的控制器的方法前或后去執(zhí)行,來影響執(zhí)行的結果.
用過,laravel框架做過項目的都知道,每當post提交的時候,都會報一個Token的錯誤,解決辦法是加個
{!!csrf_field()!!}即可,但是根本原因在哪里呢?
在app\http\middleware\VerifyCsrfToken.php的問題,把這個中間件發(fā)在全局上,每當去post的提交的時候就會驗證;
如何去生成一個中間件呢?
php artisan make:middleware EmailMiddleware
執(zhí)行會在,middleware 文件夾下找到
這些呢?都是laravel框架中常用的artisan命令,也是一些非常基礎的,artisan命令工具遠遠不止這些,希望大家學習愉快!!!