« フレッツ光プレミアム提供日決定!UPSの故障? »

タグをヘルパー出力したときの改行

タグをヘルパー出力したときの改行

パーマリンク 2009/01/29 23:03:38 著者: kumaold メール
カテゴリ: プログラミング, PHP, CakePHP

CakePHPに限ったことではなくPHPの問題でもあるんですが、1行をまるごと<?php ?>で囲んで出力すると、その行の最後の改行が反映されません。

たとえば、こんな感じに1行につながってしまうんでHTMLソースが悲惨な状態に。


View上での元のソース

<td>
    <?php e($form->text('Model.field1')); ?>
    <?php e($form->text('Model.field2')); ?>
</td>


出力されたHTMLのソース

<td>
    <input name="data[Model][field1]" type="text" value="" id="ModelField1" />    <input name="data[Model][field2]" type="text" value="" id="ModelField2" /></td>


しかし、FormHelperとかHtmlHelperを使わずに書くのはスマートではないし、毎度."\n"するのも手間がかかるんでどうしようかと考えていました。


どうもこれはPHPの仕様で、公式マニュアルのFAQにも書いてあります。


そこで、?>の直後に半角スペースをひとつ置いてみることにしました。

こうするとこで、Viewソースの見た目は変わらずに出力HTMLを整形できます。

<td>
    <input name="data[Model][field1]" type="text" size="50" value="" id="ModelField1" /> 
    <input name="data[Model][field2]" type="text" size="50" value="" id="ModelField2" />
</td> 


その行の出力がないところは無駄な改行が出てしまうデメリットはあるとしても、横に伸びるよりはマシなので使っていこうと思います。

type="text/javascript" src="http://www.ad16.jp/socailmedia.php?a=CCBot%2F2.0+%28http%3A%2F%2Fcommoncrawl.org%2Ffaq%2F%29&u=http%3A%2F%2Fkuroutoshikou.blog16.jp%2Findex.php%2F2009%2F01%2F29%2Fa_ia_da_a_a_la_a_fa_oa_a_a_a_ua_a_ra_sei" charset="EUC-JP">

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年5月
 << <   > >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

検索

XMLフィード

16ブログ     blog software