php中命名空间方法的动态实例化

There are few routers out there but I decided to create a very simple route for a very light site.

Here is my index.php

    $route = new Route();

    $route->add('/', 'Home');
    $route->add('/about', 'About');
    $route->add('/contact', 'Contact');

Here is my router:

<?php namespace Laws\Route;

use Laws\Controller\Home;

class Route
{
    private $_uri = array();
    private $_method = array();
    private $_route;

    public function __construct()
    {

    }

    public function add($uri, $method = null)
    {
        $this->_uri[] = '/' . trim($uri, '/');
        if ($method != null) {
            $this->_method[] = $method;
        }
    }

    public function submit()
    {
        $uriGetParam = isset($_GET['uri']) ? '/' . $_GET['uri'] : '/';

        foreach ($this->_uri as $key => $value) {
            if (preg_match("#^$value$#", $uriGetParam)) {
                $useMethod = $this->_method[$key];
                new $useMethod();     // this returns an error (cannot find Home'
                new Home(); // this actually works.
            }
        }
    }
}

new $useMethod(); does not work. returns error 'cannot find Home' new Home(); actually works.

What am I missing here?

You can use your concurrent way for calling a class or you can use this:

call_user_func(array($classname,$methodname))