**Route**
Route::get('admin', function()
{
return View::make('theme-admin.main');
});
**Controller**
class Admin_Controller extends Base_Controller {
public function action_index()
{
echo __FUNCTION__;
}
如果我将请求转发给控制器,那么我必须在控制器的每个函数中定义View::make
。如果我不转发,action function
不起作用。
我应该只是将请求转发给控制器并在动作函数中使用View::make
还是有更好的选择?
答案 0 :(得分:1)
实际上没有必要在控制器的每个功能中定义View::make
。
例如,您可以执行操作,然后重定向到另一个可能View::make
的操作。
假设您要创建一个用户,然后以RESTful方式显示其配置文件。你可以这样做:
# POST /users
public function user_create()
{
$user = User::create(...);
// after you have created the user, redirect to its profile
return Redirect::to_action('users@show', array($user->id));
// you don't render a view here!
}
# GET /users/1
public function get_show($id)
{
return View::make('user.show');
}
答案 1 :(得分:0)
您可以像这样调用控制器功能
$app = app();
$controller = $app->make('App\Http\Controllers\EntryController');
return $controller->callAction('getEntry', $parameters = array());
或者您只需将请求发送到另一个控制器URL
即可$request = \Request::create(route("entryPiont"), 'POST', array()));
return \Route::dispatch($request);