CakePHPのビューと他のフレームワークのビュー
CakePHPのビューを作る。
CakePHPでは、.ctpファイルと言うテンプレートファイルを使います。
/app/views/posts/配下に、index.ctpファイルを作成。
<h1>Blog posts</h1> <table> <tr> <th>Id</th> <th>Title</th> <th>Created</th> </tr> <!-- ここから、$posts配列をループして、投稿記事の情報を表示 --> <?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; ?> </table>
Railsでは、こんな感じだろうか?
(めんどいので検証しません。今までもしてないけど…。)
/app/views/posts/配下に、index.html.erbファイルを作成。
<h1>Blog posts</h1> <table> <tr> <th>Id</th> <th>Title</th> <th>Created</th> </tr> <% for post in @posts %> <tr> <td><%=h post.id %></td> <td><%= link_to post.title, post %></td> <td><%=h post.created %></td> </tr> <% end %> </table>
SAStrutsでは、こんな感じかな?
(めんどいので検証しません。今までもしてないけど…。)
cakeTest/src/main/webapp/WEB-INF/view/posts配下にlist.jspファイルを作成。
※コントローラの時indexへのアクセスはlist.jspにしたので、index.jspではない。
<h1>Blog posts</h1> <table> <tr> <th>Id</th> <th>Title</th> <th>Created</th> </tr> <c:forEach var="e" varStatus="s" items="${postsItems}"> <tr> <td>${f:h(e.id)}</td> <td><s:link href="show/${e.id}">${f:h(e.title)}</s:link></td> <td>${f:h(e.created)}</td> </tr> </c:forEach> </table>