2013-08-21 28 views
2

missingMethod方法/鉤子是它爲Laravel控制器執行一個catchall的方式的天才,但這是一個缺少方法參數的同等方法嗎?我如何優雅地處理控制器中缺少的參數?

我想平等的:

public function missingMethod($parameters) { 
    echo "Missing!"; 
} 

// but for arguments 
public function missingArguments($parameters) { 
    echo "Missing arguments!"; 
} 

相反,我會收到類似的東西:

​​

+0

沒有Laravel的這種功能。 –

+0

好吧,沒有內置的功能..但有沒有辦法妥善處理它? – Chris

回答

7

使用?在路線,這將使它可選的「/例子/ {ID?}」中的方法給出參數的默認值即($ ID = NULL)然後就檢查空

希望它可以幫助

1

你所描述實際上是路線 - 僞裝成一個「缺少的方法/論據'。

如果你有路線/example/1

控制器的功能是

public function show($id) 
{ 
     echo $id; 
} 

因此,一個 「失蹤arguement」 你的控制器功能將

public function missing() 
{ 
    echo 'you need an id'; 
} 

和您的網址是

/example 

和你的路由是

Route::get('/example/{id}', ['as' => 'example.show', 'uses' => '[email protected]']); 
Route::get('/example', ['as' => 'example.missing', 'uses' => '[email protected]g']); 
相關問題