Laravel の小ネタ

はじめまして、grasys 諏訪です。

最近、よく触っているLaravel についてTips的なものを紹介していきます。

今回のお話で扱うLaravelのバージョンは5.6です。

ルーティンググループの名前

ルーティングの設定で、各ルートに名前をつけられますがグループに対しても名前をつけられます。

Route::name('グループの名前')->group(function () {
});

また、グループは入れ子にして階層構造にできます。

設定例1

// グループ A
Route::name('a')->group(function () {
    // グループ B
    Route::name('b')->group(function ()
        // ルート
        Route::get('/', 'Controller@index')->name('c');
        });
    });
});

こんな感じで設定できます。
せっかく名前をつけたので、現在リクエストされているルートの名前を知りたくなるのが人情というもの。
そこで、名前を取得するには下記メソッドを使用します。

Route::currentRouteName()

設定例1のルートの名前は下記になります。

"abc"

全ての名前が結合された形で取得します。 これだと階層がわかりにくいので名前に区切り用の記号をつけたりすると少し見やすくなるでしょう。

バージョンアップ

5.6では脆弱性が見つかりバージョンアップが推奨されています。

https://scan.netsecurity.ne.jp/article/2018/10/10/41473.html

https://www.fendo181.me/entry/2018/08/10/003028

見事に対象バージョンだった為、Laravelのアップグレードを行うことにしました。
しかし、調べてみても具体例がみつからず、途方にくれた経験から備忘録として残しておきます。
常識だよ、と思われた方には申し訳ございません。と先に言っておきます。

composer update laravel/framework

以上です。
今回、同じ5.6系なのでcomposer.jsonはそのままでOK。
指定パッケージだけ更新します。

最後に、

php artisan --version

でバージョンアップを確認。 ついでに、

php artisan cache:clear

でキャッシュをクリアしときましょう。

Carbon

Carbon使ってますか?
私は、世の中がなんか使うのが普通でしょ?的な空気感ですので、特に逆らうことなく使用してます。
Laravelでは標準でインストールされますし。

で、いざLaravelで使おうとすると、どこにあるかわからず格納場所を探すハメになります。
いろいろ調べた結果、use Carbon\Carbonすればいいのだとわかりました。

が、毎回ソースに書いていくのはめんどくさい。
そこで、ヘルパ関数のnow()を使います。
実行すると、現在時刻のCarbonインスタンスを取得できます。
これでいちいちuseしなくてもよくなります。

といったところで、ネタがつきました。
皆さんのお役に少しでもたてば幸いです。