<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>アップグレード on ララジャパン</title>
        <link>https://www.larajapan.com/tags/%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89/</link>
        <description>Recent content in アップグレード on ララジャパン</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Fri, 07 Jun 2019 02:36:01 +0900</lastBuildDate><atom:link href="https://www.larajapan.com/tags/%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Laravel 5.7に更新</title>
        <link>https://www.larajapan.com/2019/06/07/laravel-5-7%E3%81%AB%E6%9B%B4%E6%96%B0/</link>
        <pubDate>Fri, 07 Jun 2019 02:36:01 +0900</pubDate>
        
        <guid>https://www.larajapan.com/2019/06/07/laravel-5-7%E3%81%AB%E6%9B%B4%E6%96%B0/</guid>
        <description>&lt;p&gt;&lt;strong&gt;Laravel&lt;/strong&gt;は一昨年あたりから細目に更新を出すようになりました。と言っても、年に2回ですが、Laravelで書いた大きなプログラムを管理する私としてはそれでも「きつい」。それで長期サポートの&lt;strong&gt;5.5&lt;/strong&gt;にあぐらをかいているわけだが、しかし。&lt;/p&gt;
&lt;p&gt;以下は&lt;strong&gt;5.7&lt;/strong&gt;に掲載されていたサポートのスケジュール表。
&lt;img src=&#34;Release-Notes-Laravel-The-PHP-Framework-For-Web-Artisans.png&#34; alt=&#34;&#34; width=&#34;632&#34; height=&#34;344&#34; class=&#34;alignnone size-full wp-image-3730&#34; /&gt;&lt;/p&gt;
&lt;p&gt;これによると、&lt;strong&gt;5.5&lt;/strong&gt;のバグ修正は今年の8月で終了ではないですか、ということで、急いで更新のキャッチアップとなりました。更新に関して私が気づいた点をいくつか書きます。&lt;strong&gt;5.6&lt;/strong&gt;の更新はどうしたんだい？と思う方、すいません、変更はマイナーなので記事とするほど書くことは少なく。しかし、実際には5.5 ⇒ 5.6、5.6 ⇒ 5.7と順番に進める必要はあります。&lt;/p&gt;
&lt;h2&gt;フェイカーの言語設定&lt;/h2&gt;
&lt;p&gt;「&lt;a href=&#34;https://www.larajapan.com/2019/01/13/hasmany%e3%81%ae%e3%83%95%e3%82%a7%e3%82%a4%e3%82%af%e3%83%87%e3%83%bc%e3%82%bf%e3%81%ae%e4%bd%9c%e6%88%90/&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;hasManyのフェイクデータの作成&lt;/a&gt;」の記事で、フェイカーを使用して日本語のフェイクデータの作成に、ちらと触れましたが、この設定は、今までのデフォルトの&lt;strong&gt;config/app.php&lt;/strong&gt;のファイルには含まれていませんでした。このバージョンから、以下のように含まれています。&lt;/p&gt;
&lt;div class=&#34;code-filename&#34;&gt;config/app.php&lt;/div&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |--------------------------------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | Faker Locale
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |--------------------------------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | This locale will be used by the Faker PHP library when generating fake
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | data for your database seeds. For example, this will be used to get
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | localized telephone numbers, street address information and more.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;faker_locale&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;en_US&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;もちろん、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;faker_locale&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ja_JP&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;と変えましょう。&lt;/p&gt;
&lt;p&gt;早速&lt;strong&gt;tinker&lt;/strong&gt;でテストしてみましょう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Psy&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Shell&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;v0&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;9.9&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;PHP&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7.2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;—&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;cli&lt;/span&gt;) &lt;span style=&#34;color:#a6e22e&#34;&gt;by&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Justin&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Hileman&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;factory&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;App\User&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;make&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;App\User&lt;/span&gt; {&lt;span style=&#34;color:#75715e&#34;&gt;#3191
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;井高 拓真&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#a6e22e&#34;&gt;email&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;wkimura@example.net&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#a6e22e&#34;&gt;email_verified_at&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2019-06-05 19:46:16&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;Bladeのorが??に変わる&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;layout.blade.php&lt;/strong&gt;のように使用するプログラムが同じBladeを共有するときに、例えば、プログラムにより&lt;code&gt;$title&lt;/code&gt;という変数が未定義になるかもしれないとすると、Bladeではこう設定してエラーとなるのを避けていました。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{ $title &lt;span style=&#34;color:#66d9ef&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt; }}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;しかし、&lt;strong&gt;or&lt;/strong&gt; は、phpの&lt;strong&gt;??&lt;/strong&gt;を使えば良いということで廃止になりました。&lt;strong&gt;??&lt;/strong&gt;は、php7で登場した新しい比較演算子で、いちいち&lt;code&gt;isset()&lt;/code&gt;を使用する必要がなくなりました。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{ $tile &lt;span style=&#34;color:#f92672&#34;&gt;??&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt; }}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;私のプロジェクトでもいくつかこの変更の対象となるBladeのファイルがありました。ほとんどが、上記のように未定義は空として表現するので、以下のように&lt;strong&gt;sed&lt;/strong&gt;コマンドを使用して一括変換としました。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grep -rl &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; or &amp;#39;&amp;#39;&amp;#34;&lt;/span&gt; | grep php | xargs sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s/\sor\s&amp;#39;&amp;#39;/ ?? &amp;#39;&amp;#39;/g&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;resources/assetsのディレクトリが廃止となる&lt;/h2&gt;
&lt;p&gt;Laravelのディレクトリ構造は、以前はバージョンが変わるごとに変わっていました。最近は落ち着いてきていいなと思っているとこれです。しかし、今回の変更は、そうたいしたことではないです。&lt;/p&gt;
&lt;p&gt;Laravel &lt;strong&gt;5.6&lt;/strong&gt;以前は、&lt;strong&gt;resources&lt;/strong&gt;のディレクトリの階層は、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;resources
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── assets
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── js
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   ├── app.js
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   ├── bootstrap.js
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   └── components
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │       └── ExampleComponent.vue
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── sass
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── app.scss
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       └── _variables.scss
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── lang
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── en
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── auth.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── pagination.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── passwords.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       └── validation.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── views
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    └── welcome.blade.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;が、&lt;strong&gt;5.7&lt;/strong&gt;になると、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;resources
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── js
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── app.js
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── bootstrap.js
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── components
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       └── ExampleComponent.vue
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── lang
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── en
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── auth.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── pagination.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── passwords.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       └── validation.php
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── sass
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── app.scss
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── _variables.scss
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── views
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    └── welcome.blade.php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;と、&lt;strong&gt;assets&lt;/strong&gt;のディレクトリの中身がすべてその上のディレクトリに移されました。また、それを反映して、&lt;strong&gt;webpack.mix.js&lt;/strong&gt;も変わっています。&lt;/p&gt;
&lt;p&gt;しかし、この変更はオプションであり、変えたくないなら以前のままでもＯＫです。&lt;/p&gt;
&lt;h2&gt;メールログを分ける&lt;/h2&gt;
&lt;p&gt;Laravel &lt;strong&gt;5.5&lt;/strong&gt;までは、すべてのログは&lt;strong&gt;storage/logs/laravel.log&lt;/strong&gt;に保存というワンパターンであったのが、&lt;strong&gt;5.6&lt;/strong&gt;では&lt;strong&gt;config/logging.php&lt;/strong&gt;において、いろいろなカスタマイズの設定が可能となりました。ログを従来のファイルに保存ではなく&lt;strong&gt;slack&lt;/strong&gt;にも転送が可能であるし、ファイルでも従来のように１つのファイルにすべてを保存でなく、ファイル名に日付を入れて違うファイルに保存も可能です。&lt;/p&gt;
&lt;p&gt;さらに、&lt;strong&gt;5.7&lt;/strong&gt;では、&lt;strong&gt;config/mail.php&lt;/strong&gt;において、&lt;/p&gt;
&lt;div class=&#34;code-filename&#34;&gt;config/mail.php&lt;/div&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |--------------------------------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | Log Channel
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |--------------------------------------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | If you are using the &amp;#34;log&amp;#34; driver, you may specify the logging channel
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | if you prefer to keep mail messages separate from other log entries
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    | for simpler reading. Otherwise, the default channel will be used.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    |
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;log_channel&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;env&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;MAIL_LOG_CHANNEL&amp;#39;&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;のように、メールのログチャンネルも指定可能です。&lt;/p&gt;
&lt;p&gt;例えば、&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.env&lt;/strong&gt;において、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;MAIL_DRIVER&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;と設定するとプログラムから送信されるメールの内容はすべて、&lt;strong&gt;storage/logs/laravel.log&lt;/strong&gt;に保存されます。開発時において便利な機能です。しかし、他のエラーログとごっちゃになってわかりづらかったです。&lt;/p&gt;
&lt;p&gt;しかし、&lt;strong&gt;5.7&lt;/strong&gt;において、&lt;/p&gt;
&lt;div class=&#34;code-filename&#34;&gt;config/logging.php&lt;/div&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mail&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; [
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;driver&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;single&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;path&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;storage_path&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;logs/mail.log&amp;#39;&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;level&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;debug&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        ],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;と新しく&lt;strong&gt;mail&lt;/strong&gt;というログチャンネルを作成し、&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.env&lt;/strong&gt;において、&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;MAIL_DRIVER&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;MAIL_LOG_CHANNEL&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;mail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;と指定すれば、&lt;strong&gt;laravel.log&lt;/strong&gt;ではなく&lt;strong&gt;storage/logs/mail.log&lt;/strong&gt;のファイルにメールがすべて保存されるようになります。&lt;/p&gt;</description>
        </item>
        <item>
        <title>Laravel Shiftでバージョンを更新</title>
        <link>https://www.larajapan.com/2018/01/18/laravel-shift%E3%81%A7%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E6%9B%B4%E6%96%B0/</link>
        <pubDate>Thu, 18 Jan 2018 04:59:38 +0900</pubDate>
        
        <guid>https://www.larajapan.com/2018/01/18/laravel-shift%E3%81%A7%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E6%9B%B4%E6%96%B0/</guid>
        <description>&lt;p&gt;Laravelのメジャーのバージョンは、以下のように、ほぼ年に2回のペースでリリースされています。&lt;/p&gt;
&lt;img src=&#34;Laravel-Wikipedia.png&#34; alt=&#34;&#34; width=&#34;237&#34; height=&#34;206&#34; class=&#34;alignnone size-full wp-image-2625&#34; /&gt;
&lt;p&gt;頻繁に更新されることは、Laravelがいつもアクティブである証拠でとても良いのですが、追い付いていくのが大変なのが現状です。&lt;/p&gt;
&lt;p&gt;もちろん便利な機能が登場してきたり、今まで複雑だったことが簡単にできるようなったりとかプラスの面が多いのですが、過去には、バージョン間でフレームワークのディレクトリのレイアウトが変わったり、関数名が変わったりと、ほとんど書き直しを強制される結果となることもあります。&lt;/p&gt;
&lt;p&gt;さらに、お客さんのプロジェクトとなれば、バージョンの更新ではＵＩは何も変わらないので、どうコストを正当化するのかも頭が痛いことです。しかし、バージョンアップしないとLaravelのサポートが期限切れとなるし、便利な新しい機能も使えないし。。。&lt;/p&gt;
&lt;p&gt;こういうときに、見つけたのが、バージョン更新サービスの、&lt;strong&gt;&lt;a href=&#34;https://laravelshift.com/&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;Laravel Shift&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;Laravel-Shift-the-automated-way-to-upgrade-Laravel-applications-e1515350952176.png&#34; alt=&#34;&#34; width=&#34;500&#34; height=&#34;256&#34; class=&#34;alignnone size-full wp-image-2626&#34; /&gt;
&lt;p&gt;早速、このサービスを利用して、私のLaravel&lt;strong&gt;5.3&lt;/strong&gt;の日本語のリポジトリを&lt;strong&gt;5.4&lt;/strong&gt;に更新してみましょう。&lt;/p&gt;
&lt;p&gt;残念ながら英語のサービスですが、すでに&lt;strong&gt;&lt;a href=&#34;http://github.com&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;github&lt;/a&gt;&lt;/strong&gt;や&lt;strong&gt;&lt;a href=&#34;http://bitbucket.com&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;bitbucket&lt;/a&gt;&lt;/strong&gt;のリポジトリを使用しているならことは簡単です。&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;h4&gt;ホームページで「Get Started Now」をクリックすると、以下のようなポップアップが登場します。&lt;/h4&gt;
  &lt;img src=&#34;1-popup.png&#34; alt=&#34;&#34; width=&#34;830&#34; height=&#34;561&#34; class=&#34;alignnone size-full wp-image-2635&#34; border=&#34;2&#34; /&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;Gitのレポジトリにログインします。&lt;/h4&gt;
  &lt;img src=&#34;2-sign.png&#34; alt=&#34;&#34; width=&#34;529&#34; height=&#34;654&#34; class=&#34;alignnone size-full wp-image-2636&#34; border=&#34;2&#34;/&gt;
　&lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;Laravel Shiftがgithubの私のレポジトリにアクセスすることを許可します。&lt;/h4&gt;
　&lt;img src=&#34;3-authorize.png&#34; alt=&#34;&#34; width=&#34;611&#34; height=&#34;698&#34; class=&#34;alignnone size-full wp-image-2637&#34; border=&#34;2&#34;/&gt;
　&lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;Welcome画面が表示されます。そこの右上の「New Shift」をクリックして次の画面へ進みます。&lt;/h4&gt;
　&lt;img src=&#34;4-dashboard.png&#34; alt=&#34;&#34; width=&#34;959&#34; height=&#34;498&#34; class=&#34;alignnone size-full wp-image-2638&#34; border=&#34;2&#34;/&gt;
　&lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;更新先のバージョンを選択します。ここでは5.3から5.4なので、「Laravel 5.4」にマウスを持っていき、「Purchase」をクリックします。&lt;/h4&gt;
　&lt;img src=&#34;5-Laravel-Shift-Run-a-new-Shift.png&#34; alt=&#34;&#34; width=&#34;975&#34; height=&#34;447&#34; class=&#34;alignnone size-full wp-image-2639&#34; border=&#34;2&#34; /&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;更新元のレポジトリとブランチ名を入力します。&lt;/h4&gt;
  &lt;img src=&#34;6-Laravel-Shift-Run-a-new-Shift.png&#34; alt=&#34;&#34; width=&#34;970&#34; height=&#34;581&#34; class=&#34;alignnone size-full wp-image-2640&#34; border=&#34;2&#34; /&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;支払い画面です。「Purchase Shift」をクリックします。&lt;/h4&gt;
  &lt;img src=&#34;7-Laravel-Shift-Purchase-your-Shift.png&#34; alt=&#34;&#34; width=&#34;966&#34; height=&#34;462&#34; class=&#34;alignnone size-full wp-image-2641&#34; border=&#34;2&#34; /&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;クレジットカード情報を入れます。&lt;/h4&gt;
　&lt;img src=&#34;8-Laravel-Shift-Purchase-your-Shift.png&#34; alt=&#34;&#34; width=&#34;960&#34; height=&#34;457&#34; class=&#34;alignnone size-full wp-image-2642&#34; border=&#34;2&#34; /&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;h4&gt;カード決済が完了すると、作業が開始されます。プロジェクトのサイズにもよりますが、完了するとステータスのアイコンが変わり終了です。&lt;/h4&gt;
　&lt;img src=&#34;9-Laravel-Shift-Dashboard.png&#34; alt=&#34;&#34; width=&#34;974&#34; height=&#34;313&#34; class=&#34;alignnone size-full wp-image-2643&#34; border=&#34;2&#34; /&gt;
  &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;これで、Laravel Shiftのサイトでの作業は終わりです。領収書のＥメールも送信されます。&lt;/p&gt;
&lt;p&gt;一方、gifthub.comの方では、プルリクエストが作成され、shift-のプレフィックスのブランチが作成されています。&lt;/p&gt;
&lt;p&gt;プルリクエストの内容は以下で閲覧できます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/lotsofbytes/larajapan/pull/2&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/lotsofbytes/larajapan/pull/2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/lotsofbytes/larajapan/pull/2&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;このブランチでは、コミットは６つ存在し、先のプルリクエストでそれらに関して説明が記されています。この説明は十分理解する必要あり。&lt;/p&gt;
&lt;p&gt;作成されたブランチがそのまま使用できるのではなく、以下の作業が必要と書かれています。&lt;/p&gt;
&lt;ul&gt;
    	&lt;li&gt;作成されたブランチをgitでチェックアウトしてください。&lt;/li&gt;
   	&lt;li&gt;プルリクエストのすべてのコメントをレビューしてください。追加の変更を行う必要があるかもしれません。&lt;/li&gt;
    	&lt;li&gt;Laravel 5.4の更新のために依存部分を更新してください。&lt;/li&gt;
    	&lt;li&gt;composer updateを実行してください。失敗するなら--no-scriptsを付けて再度実行してください&lt;/li&gt;
    	&lt;li&gt;徹底的にテストしてください/li&gt;
&lt;/ul&gt;
&lt;p&gt;以上をこなして実行してみると、動作しましたね！&lt;/p&gt;
&lt;p&gt;もちろん今回はとてもシンプルなプロジェクトでの更新なので、調整も最低限度と思いますが、大きなプロジェクトではShiftのブランチで簡単にはいかないと思います。しかし、Laravelのサイトでの&lt;a href=&#34;http://larajapan-local.lotsofbytes.com&#34; rel=&#34;noopener noreferrer&#34; target=&#34;_blank&#34;&gt;Upgrade Guide&lt;/a&gt;を読んで、現在のプロジェクトを手動で更新、または新バージョンをまっさらでインストールして、そこにプログラムを１つ１つ移行していくなどの作業よりは、Shiftを使うとスタート時点でかなり違うかなと感じです。今回は１１ドルとコストも低いし。&lt;/p&gt;
&lt;p&gt;私のクライアントのプロジェクトでは、5.2 ⇒ 5.3 ⇒ 5.4 ⇒ 5.5と3回Larvel Shiftの作業が必要となるわけですが、試してみようと思います。&lt;/p&gt;</description>
        </item>
        
    </channel>
</rss>
