原文地址:http://php8848.com/3447.htmlphp
controller層的知識
1. $this->getView 取得與action同名的view
2. 在action中關閉模版輸出
Yaf_Dispatcher::getInstance()->autoRender(FALSE); 或者 Yaf_Dispatcher :: getInstance() -> disableView();
3. 若是action過於複雜,能夠經過 actions數組來定義一個繼承actions基類的類去單首創建一個文件來完成邏輯, 實現方法,只要在actons屬性中定義一個數組 array(‘action’=>’action/inex.php’); 這樣就能調用,而把邏輯放在 execute裏面。
4. 搞清楚view層的方法, assign()和 assignRef()的關係 , 目前來看是相同的html
5. forward 和render的關係
render是視圖渲染函數,調用該函數能夠返回選而後的字符串,並且,assign的值在同一次的請求中會共用。
$this->forward($action, array(「name」 => $value)); 是一個跳轉函數,可是並不會立刻跳轉,而是會等到action結束以後在跳轉。第一個參數是一個action名稱,第二個參數是傳遞的參數。web
6. forward到其餘的controller的action應該怎麼寫ajax
7. action如何區分是 post 仍是get請求,仍是 ajax請求
能夠用
$this->getRequest()->isGet()
$this->getRequest()->isPost()
$this->getRequest()->isXmlHttpRequest()
來斷定是get仍是post仍是ajax請求數組
8. forward 函數是一個有幾種方式,最後一個參數必須是數組
public boolean Yaf_Controller_Abstract::forward( string $action , array $params = NULL );
public boolean Yaf_Controller_Abstract::forward( string $controller , string $action , array $params = NULL );
public boolean Yaf_Controller_Abstract::forward( string $module , string $controller , string $action , array $params = NULL );函數
9. redirect 函數的用法
$this->redirect(「/login/」); 能夠寫全路徑也能夠寫相對路徑,區別在於在最前面是否有反斜槓。 也能夠寫http請求,就會直接誇張跳轉。post