質問: $this->createMessage();` という形で上書きされていました。 マニュアルによると $message を使うことはできないということなので名前を変えると動作しました。 また、message の他、data, connection, queue, chainConnection など見知らぬ変数名が自動的にビューに渡されているのでそれらの名前も避けたほうが良さそうに見えます。(ちなみに `$data['message']` には hello がセットされていました) $data, $connection などの変数名も避けるべきでしょうか?
回答: Laravel5.5.39ですが、 メールクラス継承元のIlluminate\Mail\MailableクラスのbuildViewDataで、 メールクラスのpublicの変数がviewに自動的に渡されるようになっているので、 メールクラス作成時に記述されているQueueableトレイトで定義されるpublic変数($queue、$connection等)も渡っているようです。 メールクラスのpublic変数としてはこれらは宣言しないほうが良いのと、buildViewDataでまずviewに渡っている変数を取得した後にpublic変数を代入しているため上書きされてしまうので$messageと合わせて使わないほうがいいですね。