除非我将完整的命名空间放入 Laravel 中的控制器方法,否则未定义操作
Action not defined unless I put the complete namespace to controller method in Laravel
你好,我希望你能帮我解决这个问题。我在文档中找不到解释,但我遇到了这个问题:
如果我这样放置控制器,我会收到一条错误消息,告诉我方法未定义
<a href={{ action('MovieController@create') }}>Create Movie</a></h3>
所以我要这样解决它,把完整的命名空间
<a href={{ action('App\Http\Controllers\MovieController@create') }}>Create Movie</a></h3>
我的问题是; 有什么方法可以让我不必放置完整的命名空间就可以正常工作吗?
如果您希望在生成指向“操作”的 URL 时将命名空间作为控制器的前缀,您需要在 RouteServiceProvider
:
中定义它
protected $namespace = 'App\Http\Controllers';
此外,如果您不希望默认情况下为您的路由分配给控制器的前缀,您将必须确保路由组没有此 $namespace
变量用于分配带有 namespace
该服务提供商中的方法。
Laravel 8 中命名空间前缀的参考:
你好,我希望你能帮我解决这个问题。我在文档中找不到解释,但我遇到了这个问题:
如果我这样放置控制器,我会收到一条错误消息,告诉我方法未定义
<a href={{ action('MovieController@create') }}>Create Movie</a></h3>
所以我要这样解决它,把完整的命名空间
<a href={{ action('App\Http\Controllers\MovieController@create') }}>Create Movie</a></h3>
我的问题是; 有什么方法可以让我不必放置完整的命名空间就可以正常工作吗?
如果您希望在生成指向“操作”的 URL 时将命名空间作为控制器的前缀,您需要在 RouteServiceProvider
:
protected $namespace = 'App\Http\Controllers';
此外,如果您不希望默认情况下为您的路由分配给控制器的前缀,您将必须确保路由组没有此 $namespace
变量用于分配带有 namespace
该服务提供商中的方法。
Laravel 8 中命名空间前缀的参考: