首页 > 开发 > Php > 正文

Zend Framework教程之路由功能Zend_Controller_Router详解

2020-02-21 20:44:50
字体:
来源:转载
供稿:网友

本文实例讲述了Zend Framework教程之路由功能Zend_Controller_Router用法。分享给大家供大家参考,具体如下:

Zend Framework的路由提供了两个主要功能路由和创建路由。

Zend_Controller_Router的Route类和相应Route目录下的类定义常见的路由操作。

接口Zend_Controller_Router_Interface,类Zend_Controller_Router_Abstract和Zend_Controller_Router_Rewrite完成了基本的路由,创建路由,删除路由的功能。

└── Router
    ├── Abstract.php
    ├── Exception.php
    ├── Interface.php
    ├── Rewrite.php
    ├── Route
    │   ├── Abstract.php
    │   ├── Chain.php
    │   ├── Hostname.php
    │   ├── Interface.php
    │   ├── Module.php
    │   ├── Regex.php
    │   └── Static.php
    └── Route.php

Zend_Controller_Router路由功能的实现

Zend_Controller_Router_Interface

<?phpinterface Zend_Controller_Router_Interface{  /**   * Processes a request and sets its controller and action. If   * no route was possible, an exception is thrown.   *   * @param Zend_Controller_Request_Abstract   * @throws Zend_Controller_Router_Exception   * @return Zend_Controller_Request_Abstract|boolean   */  public function route(Zend_Controller_Request_Abstract $dispatcher);  /**   * Generates a URL path that can be used in URL creation, redirection, etc.   *   * May be passed user params to override ones from URI, Request or even defaults.   * If passed parameter has a value of null, it's URL variable will be reset to   * default.   *   * If null is passed as a route name assemble will use the current Route or 'default'   * if current is not yet set.   *   * Reset is used to signal that all parameters should be reset to it's defaults.   * Ignoring all URL specified values. User specified params still get precedence.   *   * Encode tells to url encode resulting path parts.   *   * @param array $userParams Options passed by a user used to override parameters   * @param mixed $name The name of a Route to use   * @param bool $reset Whether to reset to the route defaults ignoring URL params   * @param bool $encode Tells to encode URL parts on output   * @throws Zend_Controller_Router_Exception   * @return string Resulting URL path   */  public function assemble($userParams, $name = null, $reset = false, $encode = true);  /**   * Retrieve Front Controller   *   * @return Zend_Controller_Front   */  public function getFrontController();  /**   * Set Front Controller   *   * @param Zend_Controller_Front $controller   * @return Zend_Controller_Router_Interface   */  public function setFrontController(Zend_Controller_Front $controller);  /**   * Add or modify a parameter with which to instantiate any helper objects   *   * @param string $name   * @param mixed $param   * @return Zend_Controller_Router_Interface   */  public function setParam($name, $value);  /**   * Set an array of a parameters to pass to helper object constructors   *   * @param array $params   * @return Zend_Controller_Router_Interface   */  public function setParams(array $params);  /**   * Retrieve a single parameter from the controller parameter stack   *   * @param string $name   * @return mixed   */  public function getParam($name);  /**   * Retrieve the parameters to pass to helper object constructors   *   * @return array   */  public function getParams();  /**   * Clear the controller parameter stack   *   * By default, clears all parameters. If a parameter name is given, clears   * only that parameter; if an array of parameter names is provided, clears   * each.   *   * @param null|string|array single key or array of keys for params to clear   * @return Zend_Controller_Router_Interface   */  public function clearParams($name = null);}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表