我想重定向到'通用'控制器功能。 我尝试过这样的事情:
[1]: Route:get('/ent/create_foreign/{entity}, '{entity}Controller@index');
[2]: Route::get('/ent/create_foreign/{entity}',
function($entity){
return redirect()->action('{$entity}Controller@index');
}
);
[3]: Route::get('/ent/create_foreign/{entity}', [
'as' => 'entity1', 'uses' => 'entity1Controller@index',
'as' => 'entity2', 'uses' => 'entity2Controller@index'
]);
[1]:显示此错误: Class App \ Http \ Controllers {entity}控制器不存在
[2]:显示此错误:
Action App \ Http \ Controllers {$ entity} Controller @ index未定义。
显然,这个控制器及其功能已被定义。
[3]:它有效,但总是返回最后一个'实体'。对于此示例,返回'entity2'。
提前致谢。
答案 0 :(得分:0)
尝试将单引号更改为双引号,例如2:
Route::get('/ent/create_foreign/{entity}', function ($entity) {
return redirect()->action("{$entity}Controller@index");
});
您的班级名称和文件名应该保持一致,我建议您在可以帮助提高易用性时遵循PSR。
类名必须在StudlyCaps中声明。
http://www.php-fig.org/psr/psr-1/#namespace-and-class-names
E.g。让我们说有一个“用户关系控制器”
<强>正确强>:
class UserRelationsController
<强>不正确强>:
class userRelationsController
此外,文件名也应该是区分大小写的匹配,例如
class UserRelationsController // UserRelationsController.php
所以,如果您打算使用上述路线重定向到UserRelations
控制器,您的网址必须是:
/ent/create_foreign/UserRelation
而不是像:
/ent/create_foreign/userRelation //or
/ent/create_foreign/user_relation
希望这有帮助!