2013-05-26 131 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