phpDocumentor router
route
[ class tree: router ] [ index: router ] [ all elements ]

Class: WindRewriteRoute

Source Location: /router/route/WindRewriteRoute.php

Class WindRewriteRoute

Class Overview

基于rewrite和二级域名的路由协议

该类继承了抽象类{@see AbstractWindRoute},实现了{@see AbstractWindRoute::match()}, {@see AbstractWindRoute::build()}. 要启用此路由协议,需要开启服务器的rewrite功能 支持多应用,解析二级域名为app的值,如blog.p9.com则指向另外一个应用blog 默认路由规则:

  1. ^http[s]?:\/\/[^\/]+\/(\w+)?(\/\w+)?(\/\w+)?(\/|\/?\?.*)*$
  2.  例如:请求http://blog.p9.com/myModule/myController/myAction?id=1&name=2,
  3.  则解析为app => blogmodule => myModulecontroller => myControlleraction => myAction,
  4.  GET参数id => 1name => 2

Located in /router/route/WindRewriteRoute.php [line 22]

WindModule
   |
   --WindHandlerInterceptor
      |
      --AbstractWindRoute
         |
         --WindRewriteRoute
Author(s): Information Tags:
Version:  $Id: WindRewriteRoute.php 3330 2012-01-15 13:49:24Z yishuo $
Copyright:  ©2003-2103 phpwind.com
License:  http://www.windframework.com

Properties

Methods

[ Top ]
Inherited Properties, Constants, and Methods
Inherited Properties Inherited Methods Inherited Constants

Inherited From WindHandlerInterceptor

WindHandlerInterceptor::$interceptorChain
WindHandlerInterceptor::$result

Inherited From WindModule

WindModule::$_config
WindModule::$_proxy
WindModule::$_typeValidation

Inherited From AbstractWindRoute

AbstractWindRoute::build()
根据匹配的路由规则,构建Url
AbstractWindRoute::match()
路由规则匹配方法,返回匹配到的参数列表
AbstractWindRoute::postHandle()
AbstractWindRoute::preHandle()
AbstractWindRoute::setConfig()

Inherited From WindHandlerInterceptor

WindHandlerInterceptor::handle()
拦截器的执行入口
WindHandlerInterceptor::postHandle()
拦截器的后置操作
WindHandlerInterceptor::preHandle()
拦截器的前置操作
WindHandlerInterceptor::setHandlerInterceptorChain()
设置拦截链对象

Inherited From WindModule

WindModule::getConfig()
根据配置名取得相应的配置
WindModule::getRequest()
返回当前应用的WindHttpRequest对象
WindModule::getResponse()
返回当前应用的WindHttpResponse对象
WindModule::getSystemFactory()
返回当前应用的WindFactory对象
WindModule::setConfig()
设置类配置
WindModule::setDelayAttributes()
设置延迟加载类属性相关组件配置信息
WindModule::toArray()
返回该对象的数组类型
WindModule::writeTableCloneProperty()
类对象clone白名单
WindModule::__call()
重载了魔术方法__call
WindModule::__clone()
重载魔术方法__clone
WindModule::__get()
重载了魔术方法__get
WindModule::__set()
重载了魔术方法__set

[ Top ]
Property Summary
mixed   $params  
mixed   $pattern  
mixed   $reverse  
mixed   $separator  

[ Top ]
Method Summary
string   build()   在此路由协议的基础上组装url
void   match()   路由解析
void   setConfig()  

[ Top ]
Properties
mixed   $params = array('a' => array('map' => 3),'c'=>array('map'=>2),'m'=>array('map'=>1)) [line 28]
API Tags:
Access:  protected


Redefinition of:
AbstractWindRoute::$params

[ Top ]
mixed   $pattern = '^http[s]?:\/\/[^\/]+(\/\w+)?(\/\w+)?(\/\w+)?.*$' [line 25]
API Tags:
Access:  protected


Redefinition of:
AbstractWindRoute::$pattern

[ Top ]
mixed   $reverse = '/%s' [line 26]
API Tags:
Access:  protected


Redefinition of:
AbstractWindRoute::$reverse

[ Top ]
mixed   $separator = '&=' [line 27]
API Tags:
Access:  protected


[ Top ]
Methods
build  [line 74]

  string build( AbstractWindRouter $router, string $action, [array $args = array()]  )

在此路由协议的基础上组装url

Parameters:
AbstractWindRouter   $router: 
string   $action:  格式为app/module/controller/action
array   $args:  附带的参数

API Tags:
See:  AbstractWindRoute::build()
Access:  public


Redefinition of:
AbstractWindRoute::build()
根据匹配的路由规则,构建Url

[ Top ]
match  [line 36]

  void match( $request  )

路由解析

匹配这个patten时,将试图去解析module、controller和action值,并解析二级域名。

Parameters:
   $request: 

API Tags:
See:  AbstractWindRoute::match()
Access:  public


Redefinition of:
AbstractWindRoute::match()
路由规则匹配方法,返回匹配到的参数列表

[ Top ]
setConfig  [line 137]

  void setConfig( $config  )

Parameters:
   $config: 

API Tags:
Access:  public


Redefinition of:
AbstractWindRoute::setConfig()

[ Top ]

Documentation generated on Fri, 30 Mar 2012 11:43:39 +0800 by phpDocumentor 1.4.4