跳至主要內容

Laravel 常用指令

Pamis Wang大约 4 分鐘後端LaravelPHP

Laravel 常用指令

前言

要活用 Laravel 框架則需要很好地使用 Artisan CLI,
不過官網文件的指令比較分散於各章節。

本文簡單整理一些常用的 Artisan 指令,
以及一些常用的指令選項,
未來也會逐步補充方便速查。

about

快速瀏覽專案的設定、驅動設定、與環境設定

查看專案全部設定

php artisan about

查看專案部分設定

php artisan about --only=environment
php artisan about --only=cache
php artisan about --only=drivers

輸出 JSON 格式

php artisan about --json

serve

開發用的伺服器

啟動伺服器

php artisan serve

修改位址

預設的主機位址是 127.0.0.1 ,可透過 host 選項更改

php artisan serv --host=127.0.0.100

修改通訊埠

預設是 port 是 8000 ,可透過 port 選項更改

php artisan serv --port=9999

migrate

資料庫遷移指令

建立遷移指令

資料表名稱命名慣例為複數型態,
執行後會在專案目錄內的 /database/migrations/ 內出現建立的資料表結構,
檔案名稱會加上時間戳來排定執行順序。

已經執行過的遷移指令會被記錄在資料庫內不會再執行。

php artisan make:migration create_examples_table

建立於指定的路徑下

可透過 path 選項加上指定的路徑

php artisan make:migration create_examples_table --path=/database/migrations/test

執行遷移指令

一般不加入任何選項時,預設為 /database/migrations 下的檔案,

php artisan migrate

執行指定的路徑下的遷移指令

可透過 path 選項加上指定的路徑,路徑下的遷移檔會被執行

php artisan migrate --path=/database/migrations/test

強制執行遷移

一般使用執行遷移指令時,如果資料表已經存在於資料庫內,
或是執行會導致資料遺失的動作,會出現警告要求重複確認。

此時可透過 force 選項進行強制遷移。

不作死不會死

強烈建議不要在正式環境使用這選項!
否則......從刪資料庫到跑路......這邊概不負責的唷。

php artisan migrate --path=/database/migrations/test --force

復原遷移指定步驟

可透過 step 回滾特定步數。

php artisan migrate:rollback
php artisan migrate:rollback --step=5

復原遷移全部步驟

該指令會先把所以指令回滾,
然後再執行遷移指令。
重建整個資料庫比較安全的做法。

php artisan migrate:refresh

復原遷移可選指令

一樣可以指令執行路徑與強制選項

php artisan migrate:refresh --path=/database/migrations/test --force

重置遷移

與上面的 refresh 不同,fresh 會刪除所有資料表後才執行全部的遷移。

php artisan migrate:fresh

不作死不會死

在正式環境跑這個絕對很不妙的!
在正式環境跑這個絕對很不妙的!

逆向遷移

安裝這個套件 laravel-migrations-generatoropen in new window 才能使用下方的指令,
通常用於想要用新框架改寫系統,但已存在既有的資料庫的情境。

php artisan migrate:generate --connection="連線名稱"
php artisan migrate:generate --connection="database_old"
php artisan migrate:generate --tables="table1,table2,table3,table4,table5"
php artisan migrate:generate --ignore="table3,table4,table5"

component

Laravel 7 之後新增的指令,
功能上與過去的 Section 、 Layout 、 Include 類似,
使用上的觀念類似前端的 Slot 概念。

建立具名元件

元件會新增在 app/View/Componentsresources/views/components 目錄中

php artisan make:component Alert

也可以在子資料夾內建立元件

php artisan make:component Forms/Input

建立匿名元件

加入 view 選項建立匿名元件,
可通過 <x-forms.input /> 讓 Blade 自動去找對應目錄下的匿名元件,
一般來說比較推薦用匿名元件就可以了。

php artisan make:component forms.input --view

test

建立測試

建立新測試案例,檔案會被新增在 tests/Feature 目錄下

php artisan make:test UserTest

或是可加上路徑來歸類資料夾目錄

php artisan make:test Fake/ConvertTest

執行測試

執行全部的測試,測試結果會出現於 CLI 害面。

php artisan test

加入 filter 選項,方法名 測試文件路徑。

注意

TTY 模式不支援 Windows 平台。

php artisan test
php artisan test --filter {ClassName::TestMethodName} {FilePath}
php artisan test --filter ConvertTest::test_example Tests\Feature\Fake
上次編輯於:
貢獻者: Pamis Wang,pamis