장인 명령줄
Artisan 명령줄 소개
Artisan Command Line
소개
Artisan Laravel의 자체 명령줄 인터페이스로 Laravel 애플리케이션을 구축하는 데 도움이 되는 많은 명령을 제공합니다. 사용 가능한 모든 Artisan 명령어 목록을 보려면 list
명령어를 사용하세요. list
命令:
php artisan list
每个命令都包含了「帮助」 界面 ,它会显示和概述命令的可用参数及选项。只需要在命令前加上 help
即可查看命令帮助界面 :
php artisan help migrate
Tinker 命令 (REPL)
所有 Laravel 应用都包含了 Tinker,一个基于 PsySH 包提供支持的 REPL 。Tinker 让你可以在命令行中与你整个的 Laravel 应用进行交互 。 包括 Eloquent ORM、任务、事件等等。运行 Artisan 命令 tinker
进入 Tinker 环境:
php artisan tinker
你可以通过使用 vendor:publish
php artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"각 명령어에는 명령어에 사용 가능한 인수와 옵션을 표시하고 요약하는 도움말 인터페이스가 포함되어 있습니다. 명령 도움말 인터페이스를 보려면 명령 앞에
help
를 추가하세요: 'commands' => [ // App\Console\Commands\ExampleCommand::class, ],
tinker
를 실행하여 Tinker 환경으로 들어갑니다: 🎜'dont_alias' => [ App\User::class, ],🎜
vendor:publish
명령을 사용하여 Tinker 구성 파일을 게시할 수 있습니다: 🎜php artisan make:command SendEmails🎜🎜
Command Whitelist
Tinker는 화이트리스트를 사용하여 쉘에서 실행할 수 있는 Artisan 명령을 결정합니다. 기본적으로 clear-compiled
, down
, env
, inspire
, migration /을 실행할 수 있습니다. code>,
optimize
및 up
명령. 더 많은 화이트리스트 명령을 추가하려면 tinker.php
구성 파일의 commands
배열에 해당 명령을 추가할 수 있습니다: clear-compiled
、down
、env
、 inspire
、migrate
、 optimize
、和 up
命令。如果你想要添加更多的白名单命令,可以将它们添加到 tinker.php
配置文件中的 commands
数组里:
<?php namespace App\Console\Commands; use App\User;use App\DripEmailer; use Illuminate\Console\Command; class SendEmails extends Command{ /** * The name and signature of the console command. * * @var string */ protected $signature = 'email:send {user}'; /** * The console command description. * * @var string */ protected $description = 'Send drip e-mails to a user'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @param \App\DripEmailer $drip * @return mixed */ public function handle(DripEmailer $drip) { $drip->send(User::find($this->argument('user'))); } }
黑名单别名
通常,Tinker 会在 Tinker 中根据你的需要自动为类添加别名。然而,你可能不希望为某些类添加别名。你可以在 tinker.php
配置文件中的 dont_alias
数组里列举这些类来完成此操作:
/** * Register the Closure based commands for the application. * * @return void */ protected function commands(){ require base_path('routes/console.php'); }
编写命令
除 Artisan 提供的命令外,你还可以构建自己的自定义命令。 命令通常存储在 app/Console/Commands
目录中;不过,只要你的命令可以由 Composer 加载,你就可以自由选择自己的存储位置。
生成命令
要创建一个新的命令,可以使用 Artisan 命令 make:command
。这个命令会在 app/Console/Commands
目录中创建一个新的命令类。 不必担心应用中不存在这个目录,因为它会在你第一次运行 Artisan 命令 make:command
时创建。生成的命令会包括所有命令中默认存在的属性和方法:
Artisan::command('build {project}', function ($project) { $this->info("Building {$project}!"); });
命令结构
命令运行后,你应该先填写 signature
和 description
属性以便你在输入 php artisan list
时能够清楚知道用法。执行命令时会调用 handle
方法,你可以在这个方法中放置命令逻辑。
{tip} 为了代码更好的复用,最好保持你的控制台代码轻量并且能够延迟到应用服务中完成。在下面的例子中,我们将注入一个服务类来完成发送邮件的重任。
来看一个简单的例子。我们可以在 handle
use App\User; use App\DripEmailer;Artisan::command('email:send {user}', function (DripEmailer $drip, $user) { $drip->send(User::find($user)); });
블랙리스트 별칭일반적으로 Tinker는 필요에 따라 Tinker의 클래스에 별칭을 자동으로 추가합니다. 그러나 일부 클래스에는 별칭을 추가하고 싶지 않을 수도 있습니다. tinker.php
구성 파일의 dont_alias
배열에 다음 클래스를 열거하면 됩니다.
Artisan::command('build {project}', function ($project) { $this->info("Building {$project}!"); })->describe('Build the project');🎜 < div name="43428a" data-unique="43428a">🎜
명령어 작성
🎜Artisan에서 제공하는 명령 외에도 사용자 정의 명령을 직접 작성할 수도 있습니다. 명령은 일반적으로app/Console/Commands
디렉터리에 저장됩니다. 그러나 Composer에서 명령을 로드할 수 있는 한 원하는 저장 위치를 자유롭게 선택할 수 있습니다. 🎜🎜🎜🎜명령 생성
🎜새 명령을 생성하려면 Artisan을 사용할 수 있습니다make:명령
을 명령하세요. 이 명령은 app/Console/Commands
디렉터리에 새 명령 클래스를 생성합니다. 이 디렉터리는 Artisan 명령 make:command
를 처음 실행할 때 생성되므로 애플리케이션에 존재하지 않는 디렉터리에 대해 걱정하지 마세요. 생성된 명령에는 모든 명령에 기본적으로 존재하는 속성과 메서드가 포함됩니다. 🎜/** * The name and signature of the console command. * * @var string */ protected $signature = 'email:send {user}';🎜🎜🎜
명령 구조
🎜명령을 실행한 후php artisan 입력 시 명확하게 알 수 있도록 먼저 서명
및 설명
속성을 입력해야 합니다. 목록
사용법. 명령을 실행할 때 handle
메서드가 호출됩니다. 이 메서드에 명령 논리를 배치할 수 있습니다. 🎜🎜{tip} 더 나은 코드 재사용을 위해서는 콘솔 코드를 가볍게 유지하고 애플리케이션 서비스 완료를 연기하는 것이 가장 좋습니다. 다음 예에서는 이메일 전송 작업을 완료하기 위해 서비스 클래스를 삽입합니다. 🎜🎜간단한 예를 살펴보겠습니다.
handle
메소드에 필요한 종속성을 주입할 수 있습니다. Laravel 서비스 컨테이너는 생성자에 유형 제약 조건이 있는 모든 종속성을 자동으로 주입합니다.🎜// 可选参数... email:send {user?} // 带有默认值的可选参数... email:send {user=foo}🎜🎜🎜🎜🎜🎜
클로저 명령
클로저 기반 명령은 콘솔 명령을 정의하는 대신 클래스를 사용하는 방법을 제공합니다. 마찬가지로 클로저 라우팅은 컨트롤러의 대안이고 클로저 명령은 명령 클래스의 대안으로 생각할 수 있습니다. app/Console/Kernel.php
파일의 commands
메소드에서 Laravel은 routes/console.php
파일을 로드합니다:app/Console/Kernel.php
文件的 commands
方法中,Laravel 加载了 routes/console.php
file:
/** * 命令行的名称及签名。 * * @var string */ protected $signature = 'email:send {user} {--queue}';
虽然这个文件没有定义 HTTP 路由,但是它将基于控制台的入口点(路由)定义到了应用中。在这个文件,你可以使用 Artisan::command
方法定义所有的闭包路由。 command
方法接受两个参数: 命令名称 和一个接受命令参数及选项的闭包:
php artisan email:send 1 --queue
闭包绑定底层的命令实例,因为你可以访问所有能够在完整命令类中的所有辅助方法。
类型提示依赖
除了接收命令的参数和选项外,命令闭包也可以使用类型提示从 服务容器 中解析其他的依赖关系:
/** * 命令行的名称及签名。 * * @var string */ protected $signature = 'email:send {user} {--queue=}';
闭包命令描述
当你定义一个闭包命令,你应当使用 describe
方法来为命令添加描述。这个描述会在你运行 php artisan list
或者 php artisan help
命令时显示:
php artisan email:send 1 --queue=default
定义输出期望
在编写控制台命令时,通常是通过参数和选项来收集用户输入的。Laravel 可以通过 signature
属性非常方便的定义你期望用户输入的内容。signature
允许使用单一且可读性高,类似路由的语法定义命令的名称、参数和选项。
参数
所有用户提供的参数及选项都被包含在花括号中。在下面的例子中,这个命令定义了一个 必须的参数: user
:
email:send {user} {--queue=default}
你也可以创建可选参数,并定义参数的默认值:
email:send {user} {--Q|queue}
选项
选项,类似于参数,是用户输入的另一种格式。当命令行指定选项时,它们以两个连字符 ( --
) 作为前缀。有两种类型的选项:接收值和不接收值。不接收值的选项就像是一个布尔值的「开关」。让我们看一下这种类型的选项的例子:
email:send {user*}
在这个例子中,可以在调用 Artisan 命令时指定 --queue
开关。如果 --queue
开关被传递,该选项的值为 true
, 否则为 false
php artisan email:send foo bar그러나 this 파일은 HTTP 경로를 정의하지 않지만 애플리케이션에 대한 콘솔 기반 진입점(경로)을 정의합니다. 이 파일에서
Artisan::command
메소드를 사용하여 모든 클로저 경로를 정의할 수 있습니다. command
메소드는 두 개의 매개변수를 허용합니다: 명령 이름 및 명령 매개변수와 옵션을 허용하는 클로저: email:send {user} {--id=*}
php artisan email:send --id=1 --id=2
클로저는 기본 Command를 바인딩합니다. 전체 명령 클래스에서 사용할 수 있는 모든 도우미 메서드에 액세스할 수 있기 때문입니다.
유형 힌트 종속성
/** * 命令行的名称及签名。 * * @var string */ protected $signature = 'email:send {user : The ID of the user} {--queue= : Whether the job should be queued}';
클로저 명령 설명
🎜클로저 명령을 정의할 때를 사용해야 합니다. 설명
메소드를 사용하면 명령에 설명을 추가할 수 있습니다. 이 설명은 php artisan list
또는 php artisan help
명령을 실행할 때 표시됩니다: 🎜/** * 执行命令。 * * @return mixed */ public function handle(){ $userId = $this->argument('user'); // }🎜🎜🎜< div name="b603e9" data-unique="b603e9">🎜
출력 기대값 정의
🎜콘솔 명령을 작성할 때 사용자 입력은 일반적으로 매개변수와 옵션을 통해 수집됩니다. Laravel을 사용하면signature
속성을 통해 사용자가 입력할 것으로 예상되는 내용을 정의하는 것이 매우 편리합니다. 서명
을 사용하면 읽기 쉬운 단일 라우팅 유사 구문을 사용하여 명령의 이름, 매개변수 및 옵션을 정의할 수 있습니다. 🎜🎜🎜🎜user
:🎜$arguments = $this->arguments();🎜선택적 매개변수를 생성하고 해당 기본값을 정의할 수도 있습니다:🎜
// 获取一个指定的选项值 $queueName = $this->option('queue'); // 获取所有的选项值 $options = $this->options();🎜🎜🎜
--
)이 붙습니다. 옵션에는 값을 받는 것과 값을 받지 않는 것의 두 가지 유형이 있습니다. 값을 허용하지 않는 옵션은 부울 "스위치"와 같습니다. 이러한 옵션 유형의 예를 살펴보겠습니다. 🎜/** * 执行命令。 * * @return mixed */ public function handle(){ $name = $this->ask('What is your name?'); }🎜이 예에서는 Artisan 명령을 호출할 때
--queue
스위치를 지정할 수 있습니다. 이 옵션의 값은 --queue
스위치가 전달되면 true
이고, 그렇지 않으면 false
입니다. 🎜$password = $this->secret('What is the password?');🎜🎜🎜🎜🎜🎜
값이 있는 옵션
다음으로 값이 있는 옵션을 살펴보겠습니다. 사용자가 옵션 값을 지정하도록 하려면 옵션 이름 끝에 접미사로 등호 =
를 추가해야 합니다. =
作为的后缀:
if ($this->confirm('Do you wish to continue?')) { // }
在这个例子中, 用户可以传递该选项的值,如下所示:
$name = $this->anticipate('What is your name?', ['Taylor', 'Dayle']);
你也可以通过在选项名称后面指定默认值来设定该选项的默认值。如果用户没有传递选项值,将使用设定的默认值:
$name = $this->choice('What is your name?', ['Taylor', 'Dayle'], $defaultIndex);
选项简写
要在定义选项时指定简写,你可以在选项名称前指定它,并用 |
分隔符将简写与完整选项名称分隔开:
/** * 执行命令。 * * @return mixed */ public function handle(){ $this->info('Display this on the screen'); }
输入数组
如果你想定义接收数组输入的参数或选项,你可以使用 *
符号。首先,我们先看一个数组参数的实例:
$this->error('Something went wrong!');
调用此方法时,该 user
参数的输入参数可按顺序传递给命令行。例如,以下命令会设置 user 的值为 ['foo', 'bar']
:
$this->line('Display this on the screen');
当定义接收数组的选项时,传递给命令行的每个选项值都应以选项名称为前缀:
$headers = ['Name', 'Email']; $users = App\User::all(['name', 'email'])->toArray(); $this->table($headers, $users);
输入说明
你可以通过使用冒号来为参数和选项添加说明,并使其将他们隔开。如果你需要一点额外的空间来定义你的命令,可以随意分开在多个行里:
$users = App\User::all(); $bar = $this->output->createProgressBar(count($users)); $bar->start();foreach ($users as $user) { $this->performTask($user); $bar->advance(); }$bar->finish();
Command I/O
获取输入
在命令执行时,显然你需要获取命令接收到的参数和选项的值。你可以用 argument
和 option
方法来达到目的:
/** * 注册应用的命令 * * @return void */ protected function commands(){ $this->load(__DIR__.'/Commands'); $this->load(__DIR__.'/MoreCommands'); // ... }
如果你想所有的参数以 array
数组获取,可以调用 arguments
方法:
protected $commands = [ Commands\SendEmails::class ];
和获取参数类似,option
方法可以非常容易的获取选项的值。要将所有的选项以数组获取,使用 options
方法:
Route::get('/foo', function () { $exitCode = Artisan::call('email:send', [ 'user' => 1, '--queue' => 'default' ]); // });
如果参数或选项不存在,则返回 null
Artisan::call('email:send 1 --queue=default');이 예에서 사용자는 다음과 같이 옵션 값을 전달할 수 있습니다. 표시된:
Route::get('/foo', function () { Artisan::queue('email:send', [ 'user' => 1, '--queue' => 'default' ]); // });옵션 이름 뒤에 기본값을 지정하여 옵션의 기본값을 설정할 수도 있습니다. 사용자가 옵션 값을 전달하지 않으면 설정된 기본값이 사용됩니다:
Artisan::queue('email:send', [ 'user' => 1, '--queue' => 'default' ])->onConnection('redis')->onQueue('commands');
|
구분 기호를 사용하여 전체 옵션 이름에서 약어를 구분할 수 있습니다: 🎜Route::get('/foo', function () { $exitCode = Artisan::call('email:send', [ 'user' => 1, '--id' => [5, 13] ]); });🎜🎜🎜
입력 배열
🎜배열 입력을 받는 매개변수나 옵션을 정의하려면 < 코드>*< /code> 기호. 먼저 배열 매개변수의 예를 살펴보겠습니다. 🎜$exitCode = Artisan::call('migrate:refresh', [ '--force' => true, ]);🎜 이 메서드를 호출하면
user
매개변수의 입력 매개변수가 순서대로 명령줄에 전달될 수 있습니다. 예를 들어 다음 명령은 user 값을 ['foo', 'bar']
로 설정합니다. 🎜/** * 执行控制台命令 * * @return mixed */ public function handle(){ $this->call('email:send', [ 'user' => 1, '--queue' => 'default' ]); // }🎜배열을 수신하는 옵션을 정의할 때 명령줄에 전달된 각 옵션 값은 다음과 같습니다. 시작 옵션 이름에는 🎜
$this->callSilent('email:send', [ 'user' => 1, '--queue' => 'default' ]);🎜🎜🎜
설명 입력
🎜You라는 접두사가 붙습니다. 매개변수와 옵션을 설명하고 구분하기 위해 콜론을 사용하면 됩니다. 명령을 정의하기 위해 약간의 추가 공간이 필요한 경우 자유롭게 여러 줄로 나누어 사용하세요. 🎜rrreee🎜🎜🎜명령 I/O
🎜🎜🎜입력 가져오기 h3>🎜명령이 실행되면 당연히 명령에서 받은 매개변수와 옵션의 값을 가져와야 합니다. 이를 달성하려면 argument
및 option
메소드를 사용할 수 있습니다. 🎜rrreee🎜모든 매개변수를 배열
배열로 가져오려면 인수
메서드를 호출할 수 있습니다: 🎜rrreee🎜매개변수 가져오기와 유사하게 옵션
메서드는 옵션 값을 쉽게 가져올 수 있습니다. 모든 옵션을 배열로 가져오려면 options
메서드를 사용하세요. 🎜rrreee🎜매개변수나 옵션이 없으면 null
을 반환하세요. 🎜🎜🎜🎜🎜🎜🎜대화형 입력
출력을 표시하는 것 외에도 명령이 실행되는 동안 사용자에게 입력을 제공하도록 요청할 수도 있습니다. ask
메소드는 사용자에게 입력하라는 메시지를 표시하고 이를 수신한 다음 사용자의 입력이 명령에 전달됩니다: ask
方法将提示用户输入并接收,然后用户的输入将会传入你的命令:
secret
方法和 ask
方法类似,但当用户在控制台输入时他们的输入内容是不可见的。这个方法适用于需要用户输入像密码这样的敏感信息的时候:
请求确认
如果你想要寻求用户确认一些简单的信息,你可以使用 confirm
方法。默认情况下,该方法将返回 false
。但如果用户在回复中输入 y
或者 yes
则会返回 true
。
自动补全
anticipate
方法可用于为可能的选择提供自动补全功能。用户仍然可以忽略自动补全的提示,作任意回答:
多重选择
如果你要给用户提供一些预设的选择,可以使用 choice
方法。你也可以设置默认值的索引,用以应对用户没有选择的情景:
编写输出
可以使用 line
、 info
、 comment
、 question
和 error
方法来将输出发送到终端。每个方法都使用适当的 ANSI
颜色表明其目的。例如,让我们向用户显示一些普通信息,通常来说,最好使用 info
方法,它会在控制台将输出的内容显示为绿色:
显示错误信息, 使用 error
方法。 错误信息则会显示为红色:
如果你想在控制台显示无颜色设置的输出,请使用 line
方法:
表格布局
对于多行列数据的格式化输出,table
rrreee
secret
메소드 및 ask< /code> 메소드 유사하지만 사용자가 콘솔에 입력할 때 해당 입력이 표시되지 않습니다. 이 방법은 사용자가 비밀번호와 같은 민감한 정보를 입력해야 하는 경우에 적합합니다. rrreee요청 확인
사용자에게 간단한 확인을 요청하려는 경우 정보를 확인하려면 confirm
메소드를 사용할 수 있습니다. 기본적으로 이 메서드는 false
를 반환합니다. 그러나 사용자가 응답에 y
또는 yes
를 입력하면 true
가 반환됩니다.
rrreeeanticipate
메소드를 사용하여 가능한 선택에 대해 자동 완성을 제공할 수 있습니다. 사용자는 자동 완성 프롬프트를 무시하고 원하는 답변을 제공할 수 있습니다. rrreee
다중 선택사용자에게 미리 설정된 선택 항목을 제공하려는 경우 다음을 수행할 수 있습니다. 선택
방법을 사용하세요. 사용자에게 선택의 여지가 없는 상황을 처리하기 위해 기본값의 인덱스를 설정할 수도 있습니다: rrreee🎜🎜🎜🎜🎜 출력🎜🎜을 작성하려면 line
, info
, comment
, question
및 error
출력을 터미널로 보내는 방법입니다. 각 메서드는 적절한 ANSI
색상을 사용하여 해당 목적을 나타냅니다. 예를 들어, 사용자에게 몇 가지 일반 정보를 표시해 보겠습니다. 일반적으로 콘솔에 출력 내용을 녹색으로 표시하는 info
메서드를 사용하는 것이 가장 좋습니다. 🎜rrreee🎜오류를 표시하려면 정보를 보려면 < code>error 메소드를 사용하세요. 오류 메시지는 빨간색으로 표시됩니다: 🎜rrreee🎜 콘솔에서 색상 설정 없이 출력을 표시하려면 line
메소드를 사용하십시오: 🎜rrreee🎜🎜테이블 레이아웃🎜🎜다중 열 데이터의 형식화된 출력의 경우 table
메서드를 사용하는 것이 더 쉽습니다. 들어오는 테이블 헤더와 행 데이터를 기반으로 너비와 높이를 동적으로 계산합니다. 🎜rrreee🎜🎜🎜진행률 표시줄🎜🎜시간이 많이 걸리는 작업의 경우 진행률을 표시하는 것이 매우 필요합니다. 출력 개체를 사용하여 진행률 표시줄을 생성, 로드 및 중지합니다. 먼저 작업의 총 단계 수를 정의한 다음 작업이 실행될 때마다 진행률 표시줄을 로드합니다. 🎜rrreee🎜자세한 고급 사용법은 🎜Symfony 진행률 표시줄 구성 요소 문서🎜를 참조하세요. 🎜🎜🎜🎜🎜🎜🎜명령 등록
app/Console/Commands
디렉터리에 있는 명령이 등록됩니다. 이는 콘솔 커널의 commands
메서드가 load
. 실제로 load
를 원하는 대로 호출하여 다른 디렉터리에 있는 Artisan 명령을 검색할 수 있습니다: app/Console/Commands
目录下的命令都会被注册,这是由于控制台内核的 commands
方法调用了 load
。实际上,可随意调用 load
来扫描其他目录下的 Artisan 命令:
rrreee也可以在 app/Console/Kernel.php
文件的 $commands
属性中手动注册命令的类名。Artisan 启动时,这个属性列出的命令都将由 服务容器 解析并通过 Artisan 进行注册:
rrreee程序调用命令
有时需要在 CLI 之外执行 Artisan 命令,例如,在路由或控制器里触发 Artisan 命令。要实现调用,可以使用 Artisan
门面的 call
方法。call
方法的第一个参数接受命令名,第二个参数接受数组形式的命令参数。退出码将返回:
rrreee另外,你可以将整个 Artisan 命令作为字符串传递给 call
方法:
rrreeeArtisan
门面的 queue
方法可以将 Artisan 命令队列化,交由 队列工作进程 进行后台处理。使用此方法之前,务必配置好队列以及运行队列监听器:
rrreee你也可以指定 Artisan 命令派发的连接或任务:
rrreee传递数组值
如果定义了接受数组的选项,可以直接传递数组到该选项:
rrreee传递布尔值
需要指定没有选项值的选项时,例如,migrate:refresh
命令的 --force
选项,就可以传入 true
或 false
:
rrreee命令的互相调用
call
方法可以实现调用其它 Artisan 命令。call
方法接受命令名和数组形式的选项:
rrreee如果要抑制控制台命令的所有输出,可以使用 callSilent
方法。callSilent
的使用方法同 call
rrreee
app/Console/Kernel.php에서 $commands를 사용할 수도 있습니다. code> 파일
속성에 수동으로 등록된 명령의 클래스 이름입니다. Artisan이 시작되면 이 속성에 나열된 명령은 서비스 컨테이너에 의해 구문 분석되고 Artisan에 등록됩니다: 🎜프로그램 호출 명령🎜🎜때때로 CLI 외부에서 Artisan 명령을 실행해야 하는 경우가 있습니다(예: 라우터나 컨트롤러에서 Artisan 명령을 트리거). 호출을 구현하려면 Artisan
파사드의 call
메소드를 사용할 수 있습니다. call
메소드의 첫 번째 매개변수는 명령 이름을 받아들이고, 두 번째 매개변수는 배열 형태의 명령 매개변수를 받아들입니다. 종료 코드가 반환됩니다: 🎜rrreee🎜또는 전체 Artisan 명령을 문자열로 call
메소드에 전달할 수 있습니다: 🎜rrreee🎜Artisan
파사드의 큐 code> 메소드는 Artisan 명령을 대기열에 추가하고 백그라운드 처리를 위해 대기열 작업자 프로세스에 전달할 수 있습니다. 이 방법을 사용하기 전에 대기열을 구성하고 대기열 리스너를 실행해야 합니다: 🎜rrreee🎜 Artisan 명령으로 디스패치된 연결이나 작업을 지정할 수도 있습니다: 🎜rrreee🎜배열 값 전달
🎜배열을 허용하는 옵션이 정의된 경우 배열을 옵션에 직접 전달할 수 있습니다: 🎜rrreee🎜부울 값 전달
🎜옵션 값 없이 옵션을 지정해야 하는 경우(예: migration:refresh<의 --force
옵션) /code> 명령을 사용하면 true
또는 false
를 전달할 수 있습니다. 🎜rrreee🎜🎜🎜🎜명령의 상호 호출
🎜call
메소드를 사용하여 다른 Artisan 명령을 호출할 수 있습니다. call
메소드는 명령 이름과 옵션 배열을 허용합니다: 🎜rrreee🎜 콘솔 명령의 모든 출력을 억제하려면 callSilent
메소드를 사용할 수 있습니다. callSilent
의 사용법은 call
과 동일합니다. 🎜rrreee🎜이 기사는 🎜LearnKu.com🎜 웹사이트에 처음 게시되었습니다. 🎜🎜