- ベストアンサー
PHPで出力したHTMLのソースが汚い
ただいまPHPを勉強中の者です。 PHPでHTMLを書き出してみたのですが、ソースが改行もインデントもされておらず非常に見にくくてなってしまいました。 改行は\n、インデントは\tを入れればよいというところまでは調べたのですが、それではphpのソースが\tだらけになってしまうのでは、、、と思っています。 みなさんがPHPでHTMLを書き出すときに効率良くきれいなHTMLソースにするために行っている方法を教えて頂きたく思います。 何卒よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
スルーされてちょっと悲しいので頑張って書きます;w; ホームページ系の作成ならHTMLコードは綺麗にした方がよいです。 見やすくなるだけではなく、改行コードのあるなしでデザインが狂ってくるからです。 改行やタブスペースがあると不便なことが多いかもしれませんが、 改行がないと構文チェックで怒られる(減点される)ような類もあります。 そんな時にHTMLコードの視認性が悪いと対応が困難となります。 またロジックと表示を分けることにより、HTML、XHTML、CSSに詳しい デザイナーさんとの作業分担が容易になる利点があります。 例で書いたようなPHPがもつテンプレート機能?や Smarty、PHPTALなど利用すると幸せになれると思います。
その他の回答 (3)
- tany180sx
- ベストアンサー率63% (239/379)
ソースの汚れでお悩みのあなたに、テンプレート分離。 テンプレートエンジンなんてものが色々ありますが、まずは簡単なとこから。 === index.php ( アクセスするファイル ) <?php $num = 1; $name = 'hogeeee'; $list = array(1, 2, 3, 4, 5); include 'template.phtml'; ====== template.phtml ( テンプレート ) <html> <body> <? if ($num == 1): ?> <h1><?= $name ?></h1> <? endif; ?> <ul> <? foreach ($list as $data): ?> <li><?= $data ?></li> <? endforeach; ?> </ul> </body> </html>
お礼
スイマセン!PCが起動しなくなって再インストールしてました。 お礼が遅くなってしまい大変申し訳ありません。。。 テンプレートエンジン、初めて知りました。なかなか難しそうですがトライしてみます。詳しく教えていただきありがとうございました。
- show5-love
- ベストアンサー率40% (4/10)
私は、HTMLソースに改行やインデントを付ける必要性を感じていません。 PHPソースさえ見易く、構造化されていれば、問題ないのではないでしょうか? 開発現場でも、PHPソースの見易さ、オブジェクトの論理性は求められますが、HTMLソースの見易さを求められたことはありませんが・・・ 質問への答えになっていませんね。すみません。
お礼
そうなんですか?それは知らなかったです。 専門家の方のご意見、ありがとうございます。
- kasumi_JPN
- ベストアンサー率38% (8/21)
PHPはPerlCGIと違って必要な部分だけPHPで書けませんでしたっけ? SSIみたいな感じに
お礼
はい、たしかにPHPは必要な部分だけ書けるのですが、現在制作しているサイトはPHPでHTMLを書き出さなくてはいけない箇所が非常に多いのです。 ほとんどのHTMLをPHPで書き出すようになっており、結果ソースが汚くなっている現状なのです。
お礼
スイマセン!PCが起動しなくなって再インストールしてました。 お礼が遅くなってしまい大変申し訳ありません。。。 テンプレートエンジン、初めて知りました。なかなか難しそうですがトライしてみます。詳しく教えていただきありがとうございました。