1
**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内部操作功能还是有更好的选择?

4

2 回答 2

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');
}
于 2013-04-07T08:27:42.593 回答
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);
于 2017-08-07T17:12:26.500 回答