Login   Register  
PHP Classes
elePHPant
Icontem

File: example.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Prasun Paul  >  Friendly URL Pattern Manager  >  example.php  >  Download  
File: example.php
Role: Example script
Content type: text/plain
Description: Example File
Class: Friendly URL Pattern Manager
Parse and generate friendly URLs
Author: By
Last change: Detail Example
Date: 2007-07-18 04:20
Size: 1,919 bytes
 

Contents

Class file image Download
<?php
require_once(dirname(__FILE__)."/UrlPatternManager.php");

echo 
"<pre>";
echo 
"How to parse the attributes of a friendly URL:<br>";
echo 
"Create an instance of UrlPatternManager<br>";
echo 
"Add Patterns:<br>";
$upm = new UrlPatternManager();
$pattern "ctrlr/:controller/*";
$rules = array("controller"=>"[a-z_\-0-9]+""action"=>"[a-z_\-0-9]+");
$defaults = array('default'=>'test');
$upm->addPattern('test1'$pattern$rules$defaults);

$pattern "ctrlr/:controller/acn/:action";
$rules = array("controller"=>"[a-z_\-0-9]+""action"=>"[a-z_\-0-9]+");
$defaults = array('default'=>'test''action'=>'acnnn');
$upm->addPattern('test2'$pattern$rules$defaults);

$pattern "ctrlr/:controller/acn/:action/aaa/:bbb";
$rules = array();
$defaults = array('controller'=>'index''action'=>'index''bbb'=>'ccc');
$upm->addPattern('test3'$pattern$rules$defaults);

echo 
"Set the subject friendly URL part:<br>";
$upm->setSubjectUrl('ctrlr/index/dsadsad/tyutu/aaaa/bbbb');
echo 
"Lastly find out the attributes:<br>";
echo 
"Attributes of ctrlr/index/dsadsad/tyutu/aaaa/bbbb"."<br>";
print_r($upm->getAttributes());

$upm->setSubjectUrl('ctrlr/acn/aaa');
echo 
"Attributes of ctrlr/acn/aaa"."<br>";
print_r($upm->getAttributes());

$upm->setSubjectUrl('ctrlr/books/acn/addBook/');
echo 
"Attributes of ctrlr/books/acn/addBook/"."<br>";
print_r($upm->getAttributes());
echo 
"</pre>";

echo 
"Now how to generate friendly URLS:<br>";
$suppliedAttributes = array('controller'=>'books''action'=>'addBook');
echo 
"First supply a stored pattern name and attributes<br>";
$furlPart $upm->makeUrl('test3'$suppliedAttributes);
echo 
"Generated friendly URL part: ".$furlPart." for the pattern ctrlr/:controller/acn/:action/aaa/:bbb<br>";
echo 
"Then concatanate with base URL to find actual friendly URL<br>";
echo 
"for example: \$furl = \$baseUrl + \$furlPart;";
?>