2013-05-26 99 views
3

我正在使用最新的Laravel4并且正在测试路由和控制器。我想定义一个控制器(的TestController),这需要照顾的可能方法和所有其他的URI段的路线......laravel 4路由到通配符方法的控制器

Route::controller('/test', 'TestController'); 

控制器:

<?php 

class TestController extends BaseController { 

    public function index() 
    { 
     echo "index"; 
    } 

    public function test() 
    { 
     echo "test"; 
    } 

    public function missingMethod($parameters) 
    { 
     echo "missing method"; 
    } 

} 

但这不工作,总是:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 

调用时/测试/试验或/测试/索引

另外,missingMethod不工作......?

+0

顺便说一句:你不应该”吨处理上你的自我NotFounds。 Laravel已经有一个404事件了。 – DaGardner

回答

3

您可以使用RESTful控制器方法执行此操作。

// In routes.php 
Route::controller('test', 'TestController'); 
在控制器

则... ./TestController.php

<?php 

class TestController extends \BaseController { 

    public function getIndex() 
    { 
     return 'Hello World.'; 
    } 

    public function getPage() 
    { 
     return "Hello World I'm another page"; 
    } 
} 
+0

这不工作对我来说,不知道为什么...如果我导航到domain.com/test我得到“ErrorException未定义偏移量:1” – Danzzz

+0

我已经修复它。宣布路线时出现错字。它是Route :: get而不是Route :: controller [http://four.laravel.com/docs/controllers#restful-controllers](http://four.laravel.com/docs/controllers#restful-controllers) – CreativityKills