Click here to Skip to main content
13,143,614 members (31,764 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as

Stats

11K views
1 bookmarked
Posted 13 May 2013

Write a router for PHP MVC Applications

, 13 May 2013
Rate this:
Please Sign up or sign in to vote.
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:

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)

Share

About the Author

RezaFarhadian
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.

You may also be interested in...

Pro
Pro

Comments and Discussions

 
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.170915.1 | Last Updated 13 May 2013
Article Copyright 2013 by RezaFarhadian
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid