Ben çok CakePHP'ye öneririz. Bu yaratan tablolar arasındaki dernekler dayalı, sizin için otomatik olarak katıldı.
Eğer bir blog yazmaya olsaydı ki:
app/model/post.php:
class Post extends AppModel {
var $hasMany = array('Comment');
}
app/controller/posts_controller.php:
function view($id) {
$this->set('post', $this->Post->read(null, $id));
}
app/views/posts/view.ctp:
<h2><?php echo $post['Post']['title']?></h2>
<p><?php echo $post['Post']['body']; /* Might want Textile/Markdown here */ ?></p>
<h3>Comments</h3>
<?php foreach($post['Comment'] as $comment) { ?>
<p><?php echo $comment['body']?></p>
<p class="poster"><?php echo $comment['name']?></p>
<?php } ?>
Yani bir blog yazısı görüntülemek için yazmak zorunda tüm olurdu, veritabanı şema okuma ve önbelleğe alınır. Sürece sözleşmeler ile tutarlı tutmak gibi, sizin masa kurmak nasıl kek şey söylemek zorunda değilsiniz.
posts:
id INT
body TEXT
created DATETIME
comments:
id INT
body TEXT
name VARCHAR
post_id INT
Bu MySQL, MSSQL, PostgreSQL, SQLite, Oracle ve diğerlerini desteklemek için adaptörler vardır. Ayrıca model olarak webservices sarın, ve hatta bunu yapmak için alabileceğiniz veritabanı ve uzak veri veriler arasında katıldı! Bu çok akıllıca bir şey.
Bu yardımcı olur umarım :)