Introduction
PHP MVC pattern has a router for giving data to the controller and to process it. The router has an action and a parameter, like this:
http://example.com/post/3
In this tip, we want to create a router like this:
http://example.com/index.php/post/hello-world
We should use $_SERVER['PHP_SELF'] to create this.
Using the Code
Now, we explode $_SERVER['PHP_SELF'] for detecting action and parameters, so input this code in your controller and include it in index.php:
public function router() {
$rt = $_SERVER['PHP_SELF'];
$rt = explode('/',$rt);
$this -> action = $rt[2];
$this -> parameter = $rt[3];
}
public function isValidRt() {
error_reporting(E_ALL ^ E_NOTICE);
$rt = self::router();
if(!is_numeric($this -> action && $this -> parameter)) {
die(include('404.php'));
}
else {
return $rt;
}
}
posts is action and parameter is hello-world.
you can use isValidRt() to use router.
You have these two variables! You can use them.
I'm a persian software maker/developer & user interface designer.
I like creativity & open-source.
My dream language is javascript, i like to make & develop online applications!
My believe in web like real world, and i love it, I'm trying for design with art.
Coding for me is enjoyable & can't make me tired.