教程 > laravel 教程 > 阅读:58

laravel artisan 命令——迹忆客-ag捕鱼王app官网

简介

artisan是laravel带的命令集合。它提供了许多有用的命令,可以在构建应用程序时为我们提供很大的帮助。要查看所有可用artisan命令的列表,可以使用以下list命令:

$ php artisan list

每个命令还包括一个“帮助”手册,该手册显示并描述命令的可用参数和选项。在命令名称前加上help:

$ php artisan help make:controller

显示如下

usage:
  make:controller [options] [--] 
arguments:
  name                   the name of the class
options:
  -m, --model[=model]    generate a resource controller for the given model.
  -r, --resource         generate a resource controller class.
  -p, --parent[=parent]  generate a nested resource controller class.
  -h, --help             display this help message
  -q, --quiet            do not output any message
  -v, --version          display this application version
      --ansi             force ansi output
      --no-ansi          disable ansi output
  -n, --no-interaction   do not ask any interactive question
      --env[=env]        the environment the command should run under
  -v|vv|vvv, --verbose   increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
help:
  create a new controller class

tinker(repl)

laravel tinker是laravel框架的强大repl,由psysh软件包提供支持。

安装

默认情况下,所有laravel应用程序都包括tinker。但是,如果需要,可以使用composer手动安装它:

$ composer require laravel/tinker

用法

tinker允许我们在命令行上与整个laravel应用程序进行交互,包括eloquent orm,jobs,event等。要进入tinker环境,请运行artisan 命令tinker

$ php artisan tinker

我们可以使用以下vendor:publish命令发布tinker的配置文件:

$ php artisan vendor:publish --provider="laravel\tinker\tinkerserviceprovider"

命令白名单

tinker 使用白名单来确定允许哪些artisan命令在其中运行。默认情况下,白名单中的命令为clear-compileddownenvinspiremigrateoptimizeup命令。如果想将更多命令列入白名单,可以将它们添加到配置文件tinker.phpcommands数组中:

'commands' => [
    // app\console\commands\examplecommand::class,
],

不应混淆的类 通常,tinker会根据需要在tinker中自动为类加上别名。但是,我们可能不希望对某些类使用别名。可以通过在配置文件tinker.phpdont_alias数组中列出这些类:

'dont_alias' => [
    app\user::class,
],

自定义命令

除了artisan自带的命令外(可以使用 list命令查看),我们还可以构建自己的自定义命令。命令通常存储在app/console/commands目录中。但是,只要composer可以加载命令,我们就可以自由的给自己的命令选择存储位置。

生成指令

要创建新命令,可以使用make:command命令。该命令将在app/console/commands目录中创建一个新的命令类。如果应用程序中不存在此目录,则会自动被创建。生成的命令将包括所有命令中都存在的默认属性和方法集:

$ php artisan make:command sendemails

命令结构

生成命令后,应填写该类的signature和description属性,description属性是对命令的描述,将在list屏幕上显示命令时使用。signature是命令的名称,也就是说artisan后面的命令。handle方法是具体执行命令的内容,我们的命令的处理逻辑都是在该方法中定义

让我们看一个示例命令。请注意,我们能够将所需的所有依赖项注入到命令的handle方法中。laravel服务容器将自动注入我们指定的依赖项:

send(user::find($this->argument('user')));
    }
}

查看笔记

扫码一下
查看教程更方便
网站地图