的動態調用通過URL控制器方法,Laravel用戶推薦的方式,是通過REST風格的控制器:
<?php
class ArticleController extends controller {
public function getComment()
{
return 'This is only accesible via GET method';
}
public function postComment()
{
return 'This is only accesible via POST method';
}
}
並採用告訴Laravel這是一個RESTful控制器創建您的路線:
Route::controller('articles', 'ArticlesController');
然後,如果你遵循
http://laravel.dev/articles/comments
使用瀏覽器,你應該得到:
This is only accesible via GET method
你的名字你的控制器方法的方式(getComment,postComment,deleteComment ...)告訴Laravel應該使用HTTP方法來調用這些方法。
檢查文檔:http://laravel.com/docs/controllers#restful-controllers
但你也可以把它動態使用PHP:
class ArticlesController extends Controller {
public function comments()
{
return 'Look at this!';
}
public function execute($method)
{
return $this->{$method}();
}
}
使用控制器像這樣的:
Route::get('Article/{method}', '[email protected]');
然後你只需要
http://laravel.dev/Article/comments
真棒,不知道你能做到這一點在PHP! – Krimson
也不會在'$ this - > {$ method}();之前加上'return'。返回視圖? – Krimson
是的,當然,我忘了添加它。 :)編輯。 –