没有控制器名称的Laravel访问方法

时间:2013-04-21 10:07:11

标签: php laravel

我是CI用户,现在转向Laravel。关于路由,如何仅通过方法名称来访问方法,例如:

/controller/mymethod

可以

访问
/mymethod

总之,我正在寻找Laravel相当于CI的

$route['(method1|method2)'] = 'controller/$1';

1 个答案:

答案 0 :(得分:2)

您需要注册一条GET路线。

Route::get('method', 'controller@method');

您可以使用反向引用创建更复杂的路径以匹配多个方法。

Route::get('(method1|method2|method3)', 'controller@(:1)');

Laravel 4 中,您采取了不同的方法。您可以使用路由器注册控制器本身,并列出要响应的URI /

Route::controller('/', 'HomeController');

然后,此HomeController将包含前缀为您希望它们响应的HTTP谓词的方法。

class HomeController extends Controller {

    public function getIndex()
    {
        return 'Home Page';
    }

    public function getAbout()
    {
        return 'About Page';
    }

}

getIndex方法将响应根请求,例如localhost/your-project/public。所有其他请求将类似localhost/your-project/public/about等。