Zend_Controller_Action_Helper_Url 專門用於產生 URL,提供三個主要方法:
simple($action, $controller, $module, $params):基於預設路由產生 URL。url($urlOptions, $name, $reset, $encode):基於指定路由組裝 URL。direct($action, $controller, $module, $params):代理至 simple(),支援直接呼叫 $this->_helper->url(...)。class IndexController extends Zend_Controller_Action {
public function indexAction() {
$url = $this->_helper->getHelper('Url');
$action = 'actionname';
$controller = 'controllername';
$module = 'modulename';
$params = ['param1' => '中文參數'];
var_dump($url->simple($action, $controller, $module, $params));
var_dump($url->url([
'action' => $action,
'controller' => $controller,
'module' => $module,
'params' => $params
]));
var_dump($url->direct($action, $controller, $module, $params));
}
}
輸出結果(假設基礎路徑 /helper_demo1/public):
/helper_demo1/public/modulename/controllername/actionname/param1/%E4%B8%AD%E6%96%87%E5%8F%83%E6%95%B0 /helper_demo1/public/modulename/controllername/actionname/params/%E4%B8%AD%E6%96%87%E5%8F%83%E6%95%B0 /helper_demo1/public/modulename/controllername/actionname/param1/%E4%B8%AD%E6%96%87%E5%8F%83%E6%95%B0
simple() 手動組合模組/控制器/動作/參數,自動處理基礎 URL 與 URL 編碼。url() 則委託給路由器的 assemble() 方法,支援複雜路由規則。
更多 Zend Framework 相關教程請參考本站專題:《Zend FrameWork框架入門教程》、《php優秀開發框架總結》、《Yii框架入門及常用技巧總結》、《ThinkPHP入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》。