首頁  >  文章  >  php框架  >  Laravel - Artisan 控制台

Laravel - Artisan 控制台

PHPz
PHPz原創
2024-08-27 10:51:07527瀏覽

Laravel 框架提供了三種主要的命令列互動工具,分別是:Artisan、TickerREPL。本章詳細介紹了 Artisan。

工匠簡介

Artisan 是 Laravel 中經常使用的命令列介面,它包含一組用於開發 Web 應用程式的有用命令。

範例

這裡列出了 Artisan 中的幾個命令及其各自的功能 -

啟動 Laravel 專案

php artisan serve

啟用快取機制

php artisan route:cache

查看Artisan支援的可用指令清單

php artisan list

查看有關任何命令的協助並查看可用選項和參數

php artisan help serve

以下螢幕截圖顯示了上面給出的命令的輸出 -

Artisan Help Serve

編寫指令

除了 Artisan 中列出的命令之外,使用者還可以建立可在 Web 應用程式中使用的自訂命令。請注意,命令儲存在app/console/commands目錄.

建立使用者定義指令的預設指令如下所示 -

php artisan make:console <name-of-command>

輸入上述命令後,您可以看到如下螢幕截圖所示的輸出 -

Laravel - Artisan 控制台

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 = &#39;command:name&#39;;
   
   /**
      * The console command description.
      *
      * @var string
   */
   
   protected $description = &#39;Command description&#39;;
   
   /**
      * 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&#39;s command schedule.
      *
      * @param \Illuminate\Console\Scheduling\Schedule $schedule
      * @return void
   */
   
   protected function schedule(Schedule $schedule) {
      // $schedule->command(&#39;inspire&#39;)
      // ->hourly();
   }
}

請注意,給定命令的任務調度是在名為 schedule 的函數中定義的,其中包含一個用於調度任務的參數,該參數採用 hourly 參數。

命令註冊在命令數組中,其中包括命令的路徑和名稱。

命令註冊後,就會在 Artisan 命令中列出。當您呼叫指定命令的幫助屬性時,將顯示簽名和描述部分中包含的值。

讓我們看看如何查看指令DefaultCommand的屬性。您應該使用如下所示的命令 -

php artisan help DefaultCommand


以上是Laravel - Artisan 控制台的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Laravel - 授權下一篇:Laravel - 授權