From a5467e842316daf6a8a4345740f05a9731167ce1 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sat, 23 Sep 2006 01:51:57 +0000 Subject: merge from 3.0 branch till 1435. --- .../protected/pages/Configurations/UrlMapping.page | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 demos/quickstart/protected/pages/Configurations/UrlMapping.page (limited to 'demos/quickstart/protected/pages/Configurations') diff --git a/demos/quickstart/protected/pages/Configurations/UrlMapping.page b/demos/quickstart/protected/pages/Configurations/UrlMapping.page new file mode 100644 index 00000000..22cb866a --- /dev/null +++ b/demos/quickstart/protected/pages/Configurations/UrlMapping.page @@ -0,0 +1,75 @@ + + +

URL Mapping (Friendly URLs)

+ + + +

Using the TUrlMapping module different URLs can be +mapped into any existing Prado pages or services. This allows +the application to use nice looking and friendly URLs. +

+ +

+The TUrlMapping module allows aributary URL path to be mapped to a +particular service and page class. This module must be configured +before a service is initialized, thus this module should be configured +globally in the application configuration +file and before any services. +

+ +

The mapping format is as follows. + + + + + +

+ +

The PageClass set the name of class that the matched URL will +be requested.

The Pattern and Parameters attribute +values are regular expression patterns that +determine the mapping criteria. The Pattern property takes +a regular expression with parameter names enclosed between a left brace '{' +and a right brace '}'. The pattens for each parameter can be set +using Parametersattribute collection. +For example, + + + +

+The example is equivalent, using regular expression only, to + + +\d{4})/(?P\d{2})/(?P\d+) +]]> + + +

+In the above example, the pattern contains 3 parameters named "year", +"month" and "day". The pattern for these parameters are, +respectively, "\d{4}" (4 digits), "\d{2}" (2 digits) +and "\d+" (1 or more digits). +

+ +

For example, an URL "http://example.com/index.php/articles/2006/07/21" will be matched +and valid. However, "http://example.com/index.php/articles/2006/07/hello" is not + valid since the "day" parameter pattern is not satisfied. + In the default TUrlMappingPattern class, the pattern is matched against the +path property of the URL only. For example, only the +"/index.php/articles/2006/07/21" portion of the URL is considered and the rest +is ignored. +

+ + +

The parameter values are available through the standard Request +object. For example, $this->Request['year']. +

+ +

The URL mapping are evaluated in order they are place and only the first mapping that matches + the URL will be used. Cascaded mapping can be achieved by placing the URL mappings + in particular order. For example, placing the most specific mappings first. +

+ +
\ No newline at end of file -- cgit v1.2.3