Better code for Router/Dispatcher?

Discussion in 'PHP' started by SGBoise, Apr 23, 2008.

  1. #1
    Hello,

    I am trying to implement router/dispatcher for my script. I looked at how phpcake, codeigniter and zend framework work but they were way to complicated to what I needed.

    I found a tutorial at http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/ which is simple to implement.

    I have two types of uri:

    category / id / description.html
    or
    category / subcategory / id / description.html

    Example: /videos/funny/234/funny_monkey_dancing.html


    What I am trying to do is determine category and subcategory, if there is a subcategory, and then the ID.

    The way I am doing it right now doesn't look like the proper way. Is there a better way to do this?


    Here is my code from the tutorial with a few modifications.

    //$requestURI = explode('/', $_SERVER['REQUEST_URI']);
    $requestURI = explode('/', "tms_routing/videos/funny/234/funny_monkey_dancing.html");
    $subfolder = "tms_routing";
    
    // Remove the subfolder
    if (!$subfolder == "") {
    	for($i= 0;$i < sizeof($requestURI);$i++){
    		if ($requestURI[$i] == $subfolder){
    			unset($requestURI[$i]);
    			break;
    		}
    	}
    }
    
    // Map paths
    if (is_numeric($requestURI[3])) {
    	$array["category"] = $requestURI[1];
    	$array["subcategory"] = $requestURI[2];
    	$array["id"] = $requestURI[3];
    } else {
    	$array["category"] = $requestURI[1];
    	$array["id"] = 	$requestURI[2];
    }
    PHP:
     
    SGBoise, Apr 23, 2008 IP