Laravel Artisan控制台
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(){
//
}
}
该文件包含用户定义的命令的签名和说明。命名 句柄 的公共函数在执行命令时执行功能。这些命令在同一目录下的文件 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 的函数中定义的,该函数包含一个用于计划 每小时 参数的任务的参数。
这些命令在命令数组中注册,其中包括命令的路径和名称。
一旦命令被注册,它就被列在Artisan命令中。当您调用指定命令的帮助属性时,将显示签名和说明部分中包含的值。
让我们看看如何查看我们的命令 DefaultCommand 的属性。你应该使用如下所示的命令 -
php artisan help DefaultCommand
下一章:Laravel 加密
加密是一个使用一些算法将纯文本转换为消息的过程,以便任何第三个用户无法读取信息。这对传输敏感信息很有帮助,因为入侵者以传输信息为目标的可能性较小。加密是使用称为 密码学 的过程执行的。要被加密的被称为文本 纯文本 和文 ...
AI 中文社