Versio

URL rewrite zonder mod_rewrite class

Ik heb deze class geschreven als reactie op de tutorial van Boaz over deze methode (http://www.phphulp.nl/php/tutorials/8/629/)

Hij had een klein voorbeeldje hoe je uit $_SERVER['PATH_INFO'] mbv explode() een url als http://www.site.nl/index.php/controller/blog/action/edit/id/30/ makkelijk kon 'parsen' naar een array

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
Array
(
    [controller] => blog
    [action] => edit
    [id] => 30
)


Daar heb ik een simpele class omheen gebouwd die gebruik maakt van Singleton, zodat de url maar één keer geparsed wordt en dan de parameters worden opgeslagen.

Met de magic method __get() kan je ze er dan weer simpel uit halen.

Gesponsorde koppelingen

PHP script bestanden

  1. url-rewrite-zonder-modrewrite-class

 

1 reactie op 'URL rewrite zonder mod_rewrite class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Iltar van der berg
iltar van der berg
5 jaar geleden
 
0 +1 -0 -1
Als iemand geen /id/ heeft loopt het al de soep in. Ik doe het zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// constructor
$obj = new $className();
// init, preffered over constructor in child. (__construct does some functions)
$obj->init();
// call the action (loginAction() for example with the parameters in order)
call_user_func_array(array($obj, $methodName), $getParams);
[
/code]

op deze manier komt :

site.nl/index.php/Contact-Us/Email/Write/To-webmaster/

module: Contact_Us
controller: EmailController
Action in controller: WriteAction()
parameters:
WriteAction($to = '') { var_dump($to == 'To-Webmaster'); }

Om te reageren heb je een account nodig en je moet ingelogd zijn.

  • Labels
  • Geen tags toegevoegd.