zend framework重新導向的方法有三種。render, forward, redirect。它們各自的用法是什麼樣子的呢?有什麼區別呢?
一.render
render是用來調視圖用的,不會調用ACTION內部代碼
$this->render('upload') ;
這句話的意思是{當前Module}/{當前Controller}/upload.phtml
二.forward
forward的寫法比較靈活。
$this->_forward('upload') ;
這句話的意思是{當前Module}/{當前Controller}/upload
$this->_forward('upload', 'index') ;
這句話的意思是{當前Module}/index/upload
$this->_forward('upload', 'index', 'admin') ;
這句話的意思是admin/index/upload
forward還可以傳參,如下所示。
$params = array( 'a' => '1', 'b' => '2' ) ; $this->_forward('upload', 'index', 'admin', $params) ;
這句話的意思是admin/index/upload/a/1/b/2
三.redirect
redirect寫法比較簡單,方法中填寫跳轉路徑就行了,要從module開始寫。
$this->_redirect('/admin') ;
這句話的意思是/admin
$this->_redirect('/admin/index') ;
這句話的意思是/admin/index
$this->_redirect('/admin/index/upload') ;
這句話的意思是/admin/index/upload
如果redirect想要傳參怎麼辦呢?那就只能也寫在連結裡了。如下
$this->_redirect('/admin/index/upload/a/1/b/2') ;
這句話的意思是/admin/index/upload/a/1/b/2