LoginSignup
12
11

More than 5 years have passed since last update.

Laravel 5.8 アップデートメモ

Last updated at Posted at 2019-02-28

全く追いかけていなかったので、Upgradeやらを見ながらメモ書き。

Laravel 5.8 Release おめでとうございます。

というわけで、新機能と、5.7 → 5.8 のアップデートメモ

皆に影響がある部分として、下記の4つがあるそうです。

  1. Cache TTL Change
  2. Cache Lock Safety Improvements
  3. MarkDown File Directory Change
  4. Nexmo / Slack Notification Channels

PHP DotEnv 3.0

複数行の値が使えるようになった。

DOT_ENV_KEY="DOT
ENV
VALUE"

Carbon v2.0

Carbon V2 にアップデートされます。

see: Carbon Update Coming Laravel 5.8

Cache TTL Change

Cacheを使っている時に有効時間(分)をしていたのを、明確に期限切れを指定する形になります。

<?php

# ~5.7
\Cache::reminder('active-posts', 5, function(){ return Post::active()->get(); });

# 5.8~
\Cache::reminder('active-posts', now()->addMinute(5), function(){ return Post::active()->get(); });

see: Cache TTL Change Coming to Laravel 5.8

Deprecates String and Array Helpers

関数で存在していた array_add($array, $key, $value) が非推奨になります。代わりに Arr::add($array, $key, $value) を使ってください。

Illuminate/Support/helpers.php@deprecated <method> ~~ と書かれているので、それを参考にしながら変えていくのがいいと思います。

see: Laravel 5.8 Deprecates String and Array Helpers

Automatic Policy Resolution is Coming to Laravel 5.8

今まで AuthServicePoviderprotected $policy = [ 'Model' => 'Policy' ] と書いていた部分が、動的に変えられるようになったっぽい。

see: Automatic Policy Resolution is Coming to Laravel 5.8

Blade Template File Path

Blade を使っていると、ファイル名がハッシュ値になりどのテンプレでエラーが起きたのかわかりにくかったです。

このバージョンから Blade のコンパイルしたテンプレートファイルの先頭行に、テンプレートのファイルパスが PHP のコメントアウトして記述されます。

see: Blade Template File Path

Nexmo / Slack Notification Change

Mexmo / Slack の Notification がパッケージ分離されました。

使用している場合は別途インストールが必要です。

(何で分離されたんだろ?)

composer require laravel/nexmo-notification-channel
composer require laravel/slack-notification-channel

see: Upgrade notification

MarkDown File Directory Name Change

Markdown ファイルは /resources/views/vendor/mail/markdown でしたが、このバージョンからは /resources/views/vendor/mail/text になりました。

see: Markdown File Directory Change

Testing

PHPUnit 8 が使われるようになりました。これに伴い、 setUp() および tearDown() に返り型を指定する事が必須になりました。

具体的にはこんな感じ

<?php

protected function setUp(): void
{
    ...
}

protected function tearDown(): void
{
    ...
}
12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11