Laravel 5.dev Artisanコマンドライン

イントロダクション

ArtisanはLaravelを構成しているコマンドラインインターフェイスの名前です。アプリケーション開発時に便利な多くのコマンドを提供しています。パワフルなSymfonyコンソール・コンポーネントで動いています。

使用法

使用可能な全コマンドをリストする

使用可能な全コマンドリストを表示するには、listコマンドを使用してください。

php artisan list

コマンドのヘルプスクリーンを表示する

全てのコマンドは「ヘルプ」スクリーンが用意され、説明と使用できる引数・オプションを表示します。ヘルプスクリーンを表示するには、helpに続いてコマンド名を入力してください。

php artisan help migrate

設定環境を指定する

コマンドを実行する設定環境を指定するには--envスイッチを使用します。

php artisan migrate --env=local

現在のLaravelバージョンを表示する

インストールしているLaravelのバージョンを確認するには、--versionオプションを指定します。

php artisan --version

CLI外からのコマンド呼び出し

時には、ArtisanコマンドをCLI外から実行したい場合もあるでしょう。例えば、HTTPルートからArtisanコマンドを起動したい時です。Artisanファサードを使用するだけです。

Route::get('/foo', function()
{
    $exitCode = Artisan::call('command:name', ['--option' => 'foo']);

    //
});

Artisanコマンドをキューに入れれば、キューワーカーにより、バックグラウンドで実行されます。

Route::get('/foo', function()
{
    Artisan::queue('command:name', ['--option' => 'foo']);

    //
});

Artisanコマンドのスケジュール

今まで開発者は、それぞれのコンソールコマンドをスケジュールするために、Cronエントリーを毎回作成してきました。しかし、これは悩みの種でした。コンソールスケジュールは、ソース管理下にありませんでしたし、Cronのエントリを追加するために、その都度SSHでサーバーにアクセスする必要がありました。人生をより簡単に過ごしましょう。サーバーに一つだけCronエントリーを追加するだけで、Laravelコマンドスケジューラーを使い、Laravel自身だけでコマンドスケジュールを流暢で記述的に定義することができます。

コマンドスケジュールは、app/Console/Kernel.phpファイルに記述します。このクラスの中に、scheduleメソッドが見つかるでしょう。使用開始しやすいように、このメソッドの中に簡単な例を準備してあります。お好きなだけのジョブスケジュールをScheduleオブジェクトに追加してください。次のCronエントリーだけ、サーバーに追加する必要があります。

* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1

このCronエントリは、Laravelコマンドスケジューラーを毎分呼び出します。それにより、Laravelはスケジュールされているジョブを評価し、必要のあるジョブを実行します。これ以上簡単になりません!

スケジュール例

別のスケジュール例をご覧ください。

クロージャーをスケジュールする

$schedule->call(function()
{
    // タスクを行う…

})->hourly();

端末コマンドをスケジュールする

$schedule->exec('composer self-update')->daily();

Cronの記述法で指定する

$schedule->command('foo')->cron('* * * * *');

一定時間で繰り返す

$schedule->command('foo')->everyFiveMinutes();

$schedule->command('foo')->everyTenMinutes();

$schedule->command('foo')->everyThirtyMinutes();

毎日行うジョブ

$schedule->command('foo')->daily();

24時間制で時間を指定し、毎日行うジョブ

$schedule->command('foo')->dailyAt('15:00');

一日に2回行うジョブ

$schedule->command('foo')->twiceDaily();

ウィークデーに行うジョブ

$schedule->command('foo')->weekdays();

週毎に行うジョブ

$schedule->command('foo')->weekly();

// 曜日(0から6)と時間を指定する週間スケジュール
$schedule->command('foo')->weeklyOn(1, '8:00');

月毎に行うジョブ

$schedule->command('foo')->monthly();

ジョブを実行する環境を指定する

$schedule->command('foo')->monthly()->environments('production');

アプリケーションがメンテナンスモードでも実行することを指定する

$schedule->command('foo')->monthly()->evenInMaintenanceMode();

コールバックの結果がTrueの時だけジョブを実行する

$schedule->command('foo')->monthly()->when(function()
{
    return true;
});

ドキュメント章別ページ

Artisan CLI

ヘッダー項目移動

注目:アイコン:ページ内リンク設置(リンクがないヘッダーへの移動では、リンクがある以前のヘッダーのハッシュをURLへ付加します。

移動

クリックで即時移動します。

バージョン

設定

適用ボタンクリック後に、全項目まとめて適用されます。

カラーテーマ
和文指定 Pagination
和文指定 Scaffold
Largeスクリーン表示幅
インデント
本文フォント
コードフォント
フォント適用確認

フォントの指定フィールドから、フォーカスが外れると、当ブロックの内容に反映されます。EnglishのDisplayもPreviewしてください。

フォント設定時、表示に不具合が出た場合、当サイトのクッキーを削除してください。

バックスラッシュを含むインライン\Code\Blockの例です。

以下はコードブロックの例です。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * ユーザに関連する電話レコードを取得
     */
    public function phone()
    {
        return $this->hasOne('App\Phone');
    }
}

設定を保存する前に、表示が乱れないか必ず確認してください。CSSによるフォントファミリー指定の知識がない場合は、フォントを変更しないほうが良いでしょう。

キーボード・ショートカット

オープン操作

PDC

ページ(章)移動の左オフキャンバスオープン

HA

ヘッダー移動モーダルオープン

MS

移動/設定の右オフキャンバスオープン

ヘッダー移動

T

最初のヘッダーへ移動

E

最後のヘッダーへ移動

NJ

次ヘッダー(H2〜H4)へ移動

BK

前ヘッダー(H2〜H4)へ移動

その他

?

このヘルプページ表示
閉じる