- ベストアンサー
cakePHPのふとした疑問
最近CakePHPを勉強しはじめて 手始めにチュートリアルから学ぼうと思って 勉強していてふと疑問が浮かんだので質問させていただきます。 普通ならコードを書いてその節を終えるときは <?php echo('こんにちわ'); ?> 上記のような形で終わると思うのですが たまに <?php コード : ?> のように「:」で終わっていたり <?php コード ?> のようにそのまま終わっていたりして なんでこれで動くのかなと疑問に思った次第です。 お分かりになられる方がいらっしゃいましたら 教えていただければありがたいです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
CakePHPは触ったことがありませんが。 通常のコードとしては、<?php ?>以外の部分にHTMLが書かれていればそのまま出力されます。ですから、そのようなケースはありえます。 例えば、 <?php if($hoge) { ?> <strong>Yes</storng> <?php } else { ?> <strong>No</storng> <? } ?> コロンはif文の別記法として使われます。マニュアルにある例をそのままコピーすると、 <?php if ($a == 5): ?> Aは5に等しい <?php endif; ?> です。 これと同じかも知れません。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
まさに「やってみれば?」の典型的なものかと思うのですが・・・。 基本的には正確を期すならつねにスクリプトの締めには「;」をつける という原則を守るべきかと。 ちなみに「<?php コード ?>」はいけそうですが、「<?php コード : ?>」は 文法的におかしいので無理でしょ
お礼
返答ありがとうございます。 CakePHPのチュートリアルの一文を引用します。 <?php foreach ($posts as $post): ?> <tr> <td><?php echo $post['Post']['id']; ?></td> <td> <?php echo $html->link($post['Post']['title'], "/posts/view/".$post['Post']['id']); ?> </td> <td><?php echo $post['Post']['created']; ?></td> </tr> <?php endforeach; ?> ひとまず自己解決いたしました。 お礼が遅くなってしまい申し訳ありませんでした。
お礼
解答ありがとうございます。 ひとまず自己解決いたしました。 逆に <?php foreach : ?> ~ <?php endforeach ;?> こうでないといけないのですね。 どうもありがとうございました。