アプリ版:「スタンプのみでお礼する」機能のリリースについて

最近CakePHPを勉強しはじめて
手始めにチュートリアルから学ぼうと思って
勉強していてふと疑問が浮かんだので質問させていただきます。
普通ならコードを書いてその節を終えるときは
<?php echo('こんにちわ'); ?>
上記のような形で終わると思うのですが
たまに
<?php コード : ?>
のように「:」で終わっていたり
<?php コード ?>
のようにそのまま終わっていたりして
なんでこれで動くのかなと疑問に思った次第です。

お分かりになられる方がいらっしゃいましたら
教えていただければありがたいです。
よろしくお願いいたします。

A 回答 (2件)

CakePHPは触ったことがありませんが。


通常のコードとしては、<?php ?>以外の部分にHTMLが書かれていればそのまま出力されます。ですから、そのようなケースはありえます。
例えば、
<?php if($hoge) { ?>
<strong>Yes</storng>
<?php } else { ?>
<strong>No</storng>
<? } ?>

コロンはif文の別記法として使われます。マニュアルにある例をそのままコピーすると、
<?php if ($a == 5): ?>
Aは5に等しい
<?php endif; ?>
です。

これと同じかも知れません。
    • good
    • 0
この回答へのお礼

解答ありがとうございます。

ひとまず自己解決いたしました。

逆に
<?php foreach : ?>

<?php endforeach ;?>

こうでないといけないのですね。
どうもありがとうございました。

お礼日時:2007/06/08 00:18

まさに「やってみれば?」の典型的なものかと思うのですが・・・。


基本的には正確を期すならつねにスクリプトの締めには「;」をつける
という原則を守るべきかと。

ちなみに「<?php コード ?>」はいけそうですが、「<?php コード : ?>」は
文法的におかしいので無理でしょ
    • good
    • 0
この回答へのお礼

返答ありがとうございます。

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; ?>

ひとまず自己解決いたしました。
お礼が遅くなってしまい申し訳ありませんでした。

お礼日時:2007/06/08 00:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!