对cakephp的几点疑惑和误解
由于开始对cakephp还不是很熟悉,所以在学的时候,对cakephp有了些疑惑和误解,现在终于明白了,现在列举如下: 1. cakephp通过Elements对view实现了模块化,使得代码得到了更好的重用,而且Elements还支持cache功能,一开始我认为Element(view)只能通过controller assign变量来动态显示信息,如果这样的话,那cache功能就没用了,因为不管Element有没有cache存在,controller都有要取得数据,然后assign到Element(view)里,其实不是这样的,Element(view)还可以通过requestAction方法取得数据。它的使用方式是: controller 代码: // controllers/comments_controller.php class CommentsController extends AppController { function latest() { return $this->Comment->find(‘all’, array(‘order’ => ‘Comment.created DESC’, ‘limit’ => 10)); } } element 代码 // views/elements/latest_comments.ctp $comments = $this->requestAction(‘/comments/latest’); foreach($comments as $comment) { echo $comment[‘Comment’][‘title’]; } 调用方式: echo $this->element(‘latest_comments’); 或支持cache方式 echo $this->element(‘latest_comments’, array(‘cache’=>’+1 hour’)); 根据官方网站的说明,这种方式如果不使用cache的话,它的效率是很差的 2. … Read more