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.
$_SERVER['PHP_SELF']
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.
posts
hello-world
you can use isValidRt() to use router.
isValidRt()
You have these two variables! You can use them.