首页 > 编程 > PHP > 正文

关于Zend Framework动作助手Url的用法

2020-03-22 17:27:16
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Zend Framework动作助手Url用法,结合实例形式分析了动作助手Url的功能,定义与相关使用技巧,需要的朋友可以参考下

本文实例讲述了Zend Framework动作助手Url用法。分享给大家供大家参考,具体如下:

Url主要用于创建url;

html' target='_blank'>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( //www.jb51.net/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_Abstractrequire_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 Licenseclass 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 !

相关推荐:

关于Zend Framework自定义Helper类的相关知识

关于Zend Framework动作控制器的用法

关于Zend Framework中Zend_Db_Table_Rowset的用法

以上就是关于Zend Framework动作助手Url的用法的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表