PHP に限った話ではないですが、テンプレート中で <div> などの開始タグだけに対して if を使うと、テキストエディタや IDE の対応する終了タグがずれてしまったり、自動インデントが崩れたりします。
html
1<?php if( $hasImage ): ?> 2<div class="has-image" style="background: url(...)"> 3<?php else: ?> 4<div class="no-image"> 5<?php endif; ?> 6<!-- ここにコンテンツが入ります。 --> 7</div>
テキストエディタの認識では開始タグが2個、閉じタグが1個と数えられてしまいます。
かといって次のように書くと同じものを2度書かなくてはいけなくなります。
コンテンツ部分の内容はどちらも同じです。
html
1<?php if( $hasImage ): ?> 2<div class="has-image" style="background: url(...)"> 3<!-- ここにコンテンツが入ります。 --> 4</div> 5<?php else: ?> 6<div class="no-image"> 7<!-- ここにコンテンツが入ります。 --> 8</div> 9<?php endif; ?>
もちろんこの程度の差であれば次のように書いてしまえば十分ですがもっと差が大きなケースも含めて想定しています。
php
1echo ($hasImage) ? 'class="has-image" style="background:url(...)"' : 'class="no-image"';
テキストエディタは VSCode、IDE には PhpStorm を使っているので特殊な環境ではないと思っています。
このようなケースできれいに書くにはどのようにしていますか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。