Click here to Skip to main content
15,881,882 members
Articles / Programming Languages / PHP
Tip/Trick

Write a router for PHP MVC Applications

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
13 May 2013CPOL 16.2K   1  
Write a router for PHP MVC Applications with $_SERVER['PHP_SELF']

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:

C++
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. Wink | ;)

 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Iran (Islamic Republic of) Iran (Islamic Republic of)
This member doesn't quite have enough reputation to be able to display their biography and homepage.

Comments and Discussions

 
-- There are no messages in this forum --