laravel传递控制器对象而不是类



在Laravel 8.0,web.php中,我想传递控制器对象而不是类名,这可能吗?

示例:

$controller = new CrudController();
$controller->title = 'View items';
Route::get('/{table}/view', [$controller, 'index']);
$controller->title = 'Edit items';
Route::get('/{table}/edit', [$controller, 'index']);

这不会像你想象的那样奏效。您不需要控制器的实例。您可以按照所需操作的正常方式定义路线,并为此"标题"传递默认路线参数:

Route::get('{table}/view', [CrudController::class, 'index'])
->defaults('title', 'View items');
public function index($table, $title)
{
//
}

最新更新