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>