echoを直接使うのはアンチパターンの1つである見たことがあります。この理由を知りたいです。
私も直接HTMLソースを出力していくのは良くないとは思います。
下記に例を上げます。
php
1class View 2{ 3 // echoを直接 4 public function header() 5 { 6 echo ' 7 <header> 8 ...略 9 </header> 10 '; 11 } 12 13 // PHPタグの外に書く 14 public function body() 15 { 16 ?> 17 <body> 18 ...略 19 </body> 20 <? 21 } 22} 23 24$view = new View(); 25$view->header(); 26$view->body();
このようにするのではなく、zend-diactorosのようにストリームに蓄えて、レスポンスを返す時にまとめてストリームの中身をechoする形がよいと思いました。
下記のgetBodyで得られるものは、バッファのようなものと思っています。
$response->getBody()->write("Hello world!");
私がこのようにするといいと思う理由は、下記のとおりです。
- echoするタイミングが1つにまとめる。
- レスポンスの出力内容をテストしやすい。
これ以外に具体的なことが思いつきませんでした。また、echoを直接使うと良くない理由は、上記のことが難しくなるからです。
他にもechoを使うと良くない具体的な理由を教えていただけると助かります。
また、下記の記事のコメントにある次のアンチパターンの理由も知りたいです。
PHP標準のテンプレート機能を利用する場合に…
echo短縮構文を利用しない
制御構造の別構文を利用しない
echo短縮文は<?= ?>
、制御構造の別構文は<? endif; ?>
と思っています。
こちらについては、良くない理由が浮かびませんでした。下記のSlateというテンプレートエンジンのドキュメントに、ガイドとして上記のことが推奨されていました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/03 17:10