LoginSignup
2

More than 3 years have passed since last update.

PHP7.3からヒアドキュメントのインデントのズレが解消される件

Last updated at Posted at 2019-10-07

ヒアドキュメントは使う箇所によってはソースの可読性をあげられますが
PHP7.2までは、終了マーカーまでをインデントなしで定義しないとダメでした。
最初PHPでこれを見た時に気持ち悪いなと思ってました。

が、PHP7.3からようやくこの問題が解消されるようです。


<?php 
class foo { 
    public $bar = <<< EOT
barbar
hogehoge
EOT; 
}

今まではこう書く必要があったのが、、、

<?php 
class foo { 
    public $bar = <<< EOT
    barbar
    hogehoge
    EOT; 
}

と記述できるようになります。
可読性が上がりますね!

1つ注意なのが

タブもサポートされていますが、終了マーカーのインデントと本文のインデント(終了マーカーまで)に関してタブとスペースを混在させることはできません。これらのいずれの場合でも、ParseErrorがスローされます:

とのことなので、既存コードとの互換性という点ではバージョンアップする際は要注意ですね。

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
What you can do with signing up
2