PHP Classes

File: example.php

Recommend this page to a friend!
  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: 16 years ago
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;";
?>