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.