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


Laravel access method without controller name

我是一个CI用户,现在转到Laravel。关于路由,如何仅通过方法名访问方法?例如:

/controller/mymethod

变为

可访问
/mymethod

简而言之,我正在寻找与CI的

相当的Laravel。
$route['(method1|method2)'] = 'controller/$1';

您需要注册单个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等。