[Laravel] 5.7.14がリリースされました

laravel/frameworkのバージョン5.7.14がリリースされました。追加された機能について確認します。

1. Illuminate\Cookie\CookieJarクラスにMacroableトレイトが追加されました

2. パスワードリマインダー、パスワードリセットのRouteを無効にできるようになりました

システム上でユーザーにパスワードのリセットを許可しない場合に使用します。

Auth::routes()の引数で指定できます。

Auth::routes(['reset' => false]);

3. エラー関連のviewファイルが取り込まれるようになりました

vendor:publishコマンド実行時に、既存のviewファイルが/resources/views/errorsへコピーされます。

4. Notificationクラスにリトライ回数とタイムアウトを指定できるようになりました

$tries$timeoutにて指定可能です。

class TestNotification extends Notification implements ShouldQueue
{
    use Queueable;

    public $tries = 3; // Max tries

    public $timeout = 15; // Timeout seconds

    // ...
}

5. メール周りのログを別ファイルに出力可能になりました

メール周りのトラブルは付き物ですが、ログが埋まってしまいがちです。

専用のloggingを指定できるようになり、デバッグが容易になりました。

config/logging.phpにドライバを追加します。

'channels' => [
    // ...

    'mail' => [
        'driver' => 'daily',
        'path' => storage_path('logs/mail.log'),
        'level' => 'debug',
        'days' => 14,
    ],
],

config/mail.phplog_channelとして専用のドライバを指定可能です。

'log_channel' => 'mail',

6. 静的ファイルの配信URLが指定可能になりました

CDN等を利用してアセットファイルの配信を行う場合にとても便利な機能が追加されました。

config/app.phpasset_urlとして配信元のURLを指定することで別ドメインとして利用可能です。省略した場合にはオリジナルのドメインで配信されます。

// config/app.php
`asset_url` => 'https://cdn.something.com',

asset('js/something.js');
// => https://cdn.something.com/js/something.js

7. DetectsLostConnectionsトレイトにError while sending QUERY packetメッセージが追加されました

8. コンソール実行中と判断するフラグが指定可能になりました

LARAVEL_RUNNING_IN_CONSOLEに値を指定することでフラグが立つようになりました。

// Illuminate\Foundation\Application

/**
 * Determine if the application is running in the console.
 *
 * @return bool
 */
public function runningInConsole()
{
    return env(
        'LARAVEL_RUNNING_IN_CONSOLE',
        php_sapi_name() === 'cli' || php_sapi_name() === 'phpdbg'
    );
}

詳しい変更については以下を確認してください。

Release v5.7.14 · laravel/framework · GitHub

© Xzxzyzyz