CakePHP中View层有一个方法为:$this->requestAction(url)。望文生意,此方法可以解释为:请求Action。使用此方法可以大大的减少项目中的冗余代码。
比如我们有一个商品管理的Controller为StoreController,一个文章管理的Controller为PostController。以前当文章中需要调用最新的商品时我们可能会这样写:
class PostController extends AppController {
var $name = ‘Post’;
var $uses = array(‘Post’, ‘Store’);
var $layout = ”;var $paginate = array(
‘limit’ => 10,
‘order’ => array(‘Post.created DESC’),
);function index() {
$this->set(‘posts’, $this->paginate());// 调用最新的商品
$this->set(‘newStores’,
$this->Store->findAll(
array(‘Store.display’ => 1),
null,
array(‘Store.created DESC’),
10
)
);
}
}
这样项目中的冗余代码会变的很多,不利于管理。合理的利用requestAction是最明智的选择。
使用requestAction后$uses可以不用加载Model: Store,认真看一下代码就明白了。