こんにちわーおぐらです。
「使っているLaravelのバージョンを知りたい」
そんなときのために、バージョンを確認する方法を3つ紹介します。
OS: Windows10
PHP: 8.1.12
Laravel: 9.41
※環境によってアプリケーションのURLやバージョンは変わる場合があります。
Laravelのバージョンを確認する3つの方法
紹介する方法は次の3つです。
どれも簡単に使えるので気構える必要はありません。
- artisanコマンド
- composer
- Applicatioinクラス
artisanコマンドとcomposerはCLI(コマンドラインインターフェース)、つまり黒い画面にコマンドを入力して確認する方法です。
3つ目のApplicatioinクラスはLaravelが用意してくれているクラスで、プログラミングするときに使える方法になります。
artisanコマンドでLaravelのバージョンを確認する
次のコマンドを入力するしてエンターを押しましょう。
php artisan -V
Laravelのバージョンが出力されます。
バージョンは9.41.0であることがわかりました。
Laravel Framework 9.41.0
-Vというところを–versionに置き換えても同じ結果となります。
ハイフンの数が違う点に注意しましょう。
php artisan --version
Laravel Sailを使っている場合
Laravel Sailを使っている場合はphpではなくsail経由でコマンドに変えてください。
./vendor/bin/sail artisan -V
./vendor/bin/sail artisan --version
sailコマンドをシェルエイリアスに登録している方はsailだけで実行可能です。
sail artisan -V
composerでLaravelのバージョンを確認する
つづいてはcomposerを使った方法です。
パッケージの詳細を表示するshowコマンドを使ってLaravelのバージョンを表示します。
composer show laravel/framework
laravel/frameworkパッケージの詳細が出力されます。
artisanコマンドとは違いバージョン以外にも様々な情報を確認できます。
バージョンはversionsの項目を見てください。
name : laravel/framework
descrip. : The Laravel Framework.
keywords : framework, laravel
versions : * v9.41.0
... 以下他の情報が続きます
Laravel Sailを使っている場合
Laravel Sailを使っている場合は、artisanのときと同じようにsail経由でのコマンドに変えてください。
./vendor/bin/sail composer show laravel/framework
sailコマンドをシェルエイリアスに登録している方はエイリアスでOKです。
sail composer show laravel/framework
showコマンドの-iオプションは不要です
余談になりますが、showコマンドに-iオプションをつけなくてOKです。
-iオプションはインストール済のパッケージを対象とするオプションですが、現在はデフォルトでインストール済のパッケージが対象となっており、deprecated(非推奨)扱いになってます。
-iオプションを付けても同じように問題なく使えますが警告文が出ます。
You are using the deprecated option "installed". Only installed packages are shown by default now. The --all option can be used to show all packages.
ApplicationクラスでLaravelのバージョンを確認する
最後はLaravelフレームワーク内でプログラミングするときに使える方法です。
Applicationクラスとは
Laravelが用意してくれているクラスで、そのクラスの中にバージョン情報を保持しています。
Illuminate\Foundation\Application
Applicationクラスからバージョンを取得する
Laravelのapp関数を引数なしでコールするとApplicationクラスが返ります。
app(); // => Illuminate\Foundation\Application
dd関数で見てみると…
dd(app());
Applicationクラスであることがわかりますね。
前置きが長くなりましたがバージョン情報を取得するには、Applicationクラスのversionメソッドを使います。
versionメソッドはLaravelのバージョンを文字列で返します。
app()->version(); // => "9.41.0"
先ほどと同じようにdd関数で確認すると…
バージョンが表示されていますね。
dd(app()->version());
例として簡単にバージョンの文字列を返すルーティングを書いてみます。
// routes/web.php
Route::get('/version', function() {
return 'Laravelのバージョンは「' . app()->version() . '」です。';
});
/versionにアクセスするとLaravelのバージョンは「9.41.0」です。と表示されていることを確認できました。
Applicationクラスの定数として定義されている
こちらはあまり使う機会のないものになるかと思いますがバージョンはApplicationクラスの定数として定義されています。
そしてversionメソッドはApplicationクラスのバージョン定数を返しているだけです。
Illuminate\Foundation\Application::VERSION
つまりversionメソッドでも、VERSION定数でも同じ結果が得られます。
app()->version() === Illuminate\Foundation\Application::VERSION // => true
Laravelのバージョン確認方法まとめ
あらためてまとめると、Laravelのバージョンを確認する方法は複数あります。
- artisanコマンド
- composer
- Applicatioinクラス
バージョンが必要な理由などに応じて、やりやすい方法を使いましょう!!