国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

Zend Framework動作助手Url用法詳解

2024-05-04 23:43:37
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Zend Framework動作助手Url用法,結合實例形式分析了動作助手Url的功能,定義與相關使用技巧,需要的朋友可以參考下
 

本文實例講述了Zend Framework動作助手Url用法。分享給大家供大家參考,具體如下:

Url主要用于創建url;

public function simple($action, $controller = null, $module = null, array $params = null)public function url($urlOptions = array(), $name = null, $reset = false, $encode = true)public function direct($action, $controller = null, $module = null, array $params = null)
<?phpclass IndexController extends Zend_Controller_Action{  public function init()  {    /* Initialize action controller here */  }  public function indexAction()  {    //$urlParser = $this->_helper->getHelper('UrlParser');    //var_dump($urlParser->parse('http://m.survivalescaperooms.com/article/80479.htm'));    $url = $this->_helper->getHelper('Url');    $action = 'actionname';    $controller = 'controllername';    $module = 'modulename';    $params = array('param1'=>'中文參數');    var_dump($url->simple($action, $controller, $module, $params));    $urlOptions = array(        'action'=>$action,        'controller'=>$controller,        'module'=>$module,        'params'=>$params);    var_dump($url->url($urlOptions));    var_dump($url->direct($action, $controller, $module, $params));    exit;  }}

www.localzend.com/helper_demo1/public/index

string(101) "/helper_demo1/public/modulename/controllername/actionname/param1/%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0"
string(101) "/helper_demo1/public/modulename/controllername/actionname/params/%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0"
string(101) "/helper_demo1/public/modulename/controllername/actionname/param1/%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0"

實現源碼如下:

/** * @see Zend_Controller_Action_Helper_Abstract */require_once 'Zend/Controller/Action/Helper/Abstract.php';/** * Helper for creating URLs for redirects and other tasks * * @uses    Zend_Controller_Action_Helper_Abstract * @category  Zend * @package  Zend_Controller * @subpackage Zend_Controller_Action_Helper * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) * @license  http://framework.zend.com/license/new-bsd   New BSD License */class Zend_Controller_Action_Helper_Url extends Zend_Controller_Action_Helper_Abstract{  /**   * Create URL based on default route   *   * @param string $action   * @param string $controller   * @param string $module   * @param array $params   * @return string   */  public function simple($action, $controller = null, $module = null, array $params = null)  {    $request = $this->getRequest();    if (null === $controller) {      $controller = $request->getControllerName();    }    if (null === $module) {      $module = $request->getModuleName();    }    $url = $controller . '/' . $action;    if ($module != $this->getFrontController()->getDispatcher()->getDefaultModule()) {      $url = $module . '/' . $url;    }    if ('' !== ($baseUrl = $this->getFrontController()->getBaseUrl())) {      $url = $baseUrl . '/' . $url;    }    if (null !== $params) {      $paramPairs = array();      foreach ($params as $key => $value) {        $paramPairs[] = urlencode($key) . '/' . urlencode($value);      }      $paramString = implode('/', $paramPairs);      $url .= '/' . $paramString;    }    $url = '/' . ltrim($url, '/');    return $url;  }  /**   * Assembles a URL based on a given route   *   * This method will typically be used for more complex operations, as it   * ties into the route objects registered with the router.   *   * @param array  $urlOptions Options passed to the assemble method of the Route object.   * @param mixed  $name    The name of a Route to use. If null it will use the current Route   * @param boolean $reset   * @param boolean $encode   * @return string Url for the link href attribute.   */  public function url($urlOptions = array(), $name = null, $reset = false, $encode = true)  {    $router = $this->getFrontController()->getRouter();    return $router->assemble($urlOptions, $name, $reset, $encode);  }  /**   * Perform helper when called as $this->_helper->url() from an action controller   *   * Proxies to {@link simple()}   *   * @param string $action   * @param string $controller   * @param string $module   * @param array $params   * @return string   */  public function direct($action, $controller = null, $module = null, array $params = null)  {    return $this->simple($action, $controller, $module, $params);  }}
 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 射洪县| 新余市| 新化县| 周至县| 垣曲县| 奉新县| 古田县| 庐江县| 寻乌县| 青田县| 上林县| 股票| 喀喇| 鄂托克前旗| 长兴县| 麻江县| 自贡市| 峡江县| 布尔津县| 绥中县| 通辽市| 剑河县| 怀仁县| 商水县| 库尔勒市| 建昌县| 石楼县| 安庆市| 遂川县| 壶关县| 高邮市| 靖江市| 白城市| 和政县| 岳池县| 宝山区| 罗山县| 江西省| 五莲县| 蚌埠市| 锡林浩特市|