Laravel 框架提供了三種主要的命令列互動工具,分別是:Artisan、Ticker 和 REPL。本章詳細介紹了 Artisan。
Artisan 是 Laravel 中經常使用的命令列介面,它包含一組用於開發 Web 應用程式的有用命令。
這裡列出了 Artisan 中的幾個命令及其各自的功能 -
啟動 Laravel 專案
php artisan serve
啟用快取機制
php artisan route:cache
查看Artisan支援的可用指令清單
php artisan list
查看有關任何命令的協助並查看可用選項和參數
php artisan help serve
以下螢幕截圖顯示了上面給出的命令的輸出 -
除了 Artisan 中列出的命令之外,使用者還可以建立可在 Web 應用程式中使用的自訂命令。請注意,命令儲存在app/console/commands目錄.
建立使用者定義指令的預設指令如下所示 -
php artisan make:console <name-of-command>
輸入上述命令後,您可以看到如下螢幕截圖所示的輸出 -
為DefaultCommand所建立的檔案命名為DefaultCommand.php,如下所示 -
<?php namespace App\Console\Commands; use Illuminate\Console\Command; class DefaultCommand extends Command{ /** * The name and signature of the console command. * * @var string */ protected $signature = 'command:name'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { // } }
此檔案包含使用者定義的命令的簽名和描述。名為 handle 的公用函數在執行指令時執行功能。這些命令註冊在同一目錄下的檔案Kernel.php。
您也可以為使用者定義的命令建立任務計劃,如下列程式碼所示 -
<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ // Commands\Inspire::class, Commands\DefaultCommand::class ]; /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { // $schedule->command('inspire') // ->hourly(); } }
請注意,給定命令的任務調度是在名為 schedule 的函數中定義的,其中包含一個用於調度任務的參數,該參數採用 hourly 參數。
命令註冊在命令數組中,其中包括命令的路徑和名稱。
命令註冊後,就會在 Artisan 命令中列出。當您呼叫指定命令的幫助屬性時,將顯示簽名和描述部分中包含的值。
讓我們看看如何查看指令DefaultCommand的屬性。您應該使用如下所示的命令 -
php artisan help DefaultCommand
以上是Laravel - Artisan 控制台的詳細內容。更多資訊請關注PHP中文網其他相關文章!