URL rewrite zonder mod_rewrite class

Door Arian Stolwijk, 14 jaar geleden, 3.271x bekeken

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

 

Er zijn 1 reacties op 'Url rewrite zonder modrewrite class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Iltar van der berg
iltar van der berg
14 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.

Inhoudsopgave

  1. url-rewrite-zonder-modrewrite-class

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.