Skip to content

Laravelコマンド集

y.imamura edited this page May 26, 2018 · 17 revisions

Laravelのバージョン確認

$ php artisan --version
Laravel Framework 5.5.28

ビルトインサーバ起動

$ php artisan serve
$ php artisan serve --host 192.168.33.1 --port 8000
  • --host アクセス許可するホストIPを指定。デフォルトは 127.0.0.1
    • 0.0.0.0 と指定するとアクセスを全て許可する。
  • --port サービスのポートを指定。デフォルトは 8000

コマンドリスト

https://github.com/ucan-lab/tips/issues/32

$ php artisan list

ルーティング一覧

$ php artisan route:list

登録されているルーティングを一覧表示する。

アプリケーションキー生成

$ php artisan key:generate

APP_KEY= を生成する。 create-project でインストールした際は自動的に実行されている。

認証機能の生成

$ php artisan make:auth

ログイン画面とユーザ登録画面のビューとルートのひな形を生成してくれる。 ログイン機能を作りたい場合はこのコマンドを実行してから作り込んでいくと良い。

REPL (Read-Eval-Print Loop)

$ php artisan tinker

tinkerとはLaravelでプログラムを対話的に扱える、ちょっとした動作確認に使える便利なシステムです。

makeコマンド系

makeコマンドは各ファイルのひな形を生成してくれる便利コマンドです。
仕様用途が高いと思われるものを抜粋して紹介します。
コマンドを叩かず、直接ファイルを作っても全然okです。

モデルファイルのひな形生成

$ php artisan make:model Post
$ php artisan make:model Post -a

app へモデルのひな形を生成する。

  • -m マイグレーションのひな形を生成
  • -f ファクトリーのひな形を生成
  • -c 空のコントローラのひな形を生成
  • -r リソースコントローラのひな形を生成
  • -a マイグレーション、ファクトリー、リソースコントローラを生成

マイグレーションファイルのひな形生成

$ php artisan make:migration create_posts_table --create=posts
$ php artisan make:migration add_user_id_to_posts_table --table=posts
  • --create テーブル作成のマイグレーション
  • --table テーブル変更のマイグレーション

database/migrations へマイグレーションファイルのひな形を生成する。

シーダーファイルのひな形生成

$ php artisan make:seeder PostsTableSeeder

database/seeds へシーダーのひな形を生成する。

ファクトリーのひな形生成

$ php artisan make:factory PostFactory
$ php artisan make:factory PostFactory -m Post

database/factories へファクトリーのひな形を生成する。

  • -m モデルを指定する

コントローラファイルのひな形生成

$ php artisan make:controller PostsController
$ php artisan make:controller PostsController -r
$ php artisan make:controller PostsController -m Post

app/Http/Controllers へコントローラを生成する。

  • -r リソースに対応するメソッドのひな形を生成
  • -m リソース+モデルルートバインディングしたひな形を生成

フォームリクエストのひな形生成

$ php artisan make:request PostRequest

ビューファイルの生成

$ mkdir resources/views/posts
$ touch resources/views/posts/{index,show,create,edit,_form}.blade.php

ビューファイルを生成するmakeコマンドはないので自分で作成します。

make系のコマンドはまだまだ他にもたくさんあります。
今回は使用頻度が高そうなものを取り上げてます。

$ php artisan list | grep make
 make
  make:auth            Scaffold basic login and registration views and routes
  make:command         Create a new Artisan command
  make:controller      Create a new controller class
  make:event           Create a new event class
  make:exception       Create a new custom exception class
  make:factory         Create a new model factory
  make:job             Create a new job class
  make:listener        Create a new event listener class
  make:mail            Create a new email class
  make:middleware      Create a new middleware class
  make:migration       Create a new migration file
  make:model           Create a new Eloquent model class
  make:notification    Create a new notification class
  make:policy          Create a new policy class
  make:provider        Create a new service provider class
  make:request         Create a new form request class
  make:resource        Create a new resource
  make:rule            Create a new validation rule
  make:seeder          Create a new seeder class
  make:test            Create a new test class

migrateコマンド系

マイグレートはテーブル構成の履歴管理機能です。

マイグレート

$ php artisan migrate

ロールバック

$ php artisan migrate:rollback

マイグレート状態確認

$ php artisan migrate:status

マイグレート初期化

$ php artisan migrate:reset

マイグレート初期化&実施&シーディング

$ php artisan migrate:fresh

シーディング

$ php artisan db:seed

テストデータを投入する。

キャッシュ系

ルートキャッシュクリア

$ php artisan route:clear

ビューキャッシュクリア

$ php artisan view:clear

設定キャッシュクリア

$ php artisan config:clear

アプリケーションキャッシュクリア

$ php artisan cache:clear

コンパイル済みクラスファイルの削除

$ php artisan clear-compiled

以下2つのファイルを削除する。

  • /bootstrap/cache/services.json
  • /bootstrap/cache/compiled.php

最適化

ルートキャッシュ

$ artisan route:cache
  • ルーティング定義をbase64_encodeで以下ファイルに出力
    • /bootstrap/cache/routes.php
  • 注意点: クロージャ定義のルーティングがあると、最適化されずエラーになる
    • /bootstrap/cache/routes.php が作成されず通常のルーティングアクセス
    • アクセスできなくなるわけではない

設定ファイルキャッシュ

$ php artisan config:cache
  • /bootstrap/cache/config.php config 以下の設定ファイルを「var_export」して以下ファイルに出力

フレームワークの最適化

フレームワークのコードを結合して一つのファイルに纏める

$ php artisan optimize
  • /bootstrap/cache/compiled.php
  • /config/compile.php の files ブロックににキャッシュ対象のクラスを書けば一緒に結合される

autoload自動生成

$ composer dump-autoload
  • autoloadを自動で生成してくれる
    • vendor/composer/autoload_classmap.php
    • vendor/composer/autoload_files.php
    • vendor/composer/autoload_namespaces.php
    • vendor/composer/autoload_psr4.php
    • vendor/composer/autoload_real.php
    • vendor/composer/autoload_static.php
  • 新たなクラス定義やファイル定義を行うたびに実行する
  • composer installでパッケージインストールと同時に実行される