Php 操作未定义,除非我在Laravel中将完整的命名空间放置到控制器方法中

Php 操作未定义,除非我在Laravel中将完整的命名空间放置到控制器方法中,php,laravel,oop,laravel-8,Php,Laravel,Oop,Laravel 8,嗨,我希望你能帮我。我在文档中找不到解释,但我遇到了以下问题: 如果我像这样放置控制器,我会得到一个错误,告诉我方法没有定义 <a href={{ action('MovieController@create') }}>Create Movie</a></h3> 所以我要这样解决它,把完整的名称空间 <a href={{ action('App\Http\Controllers\MovieController@create') }}>Cr

嗨,我希望你能帮我。我在文档中找不到解释,但我遇到了以下问题:

如果我像这样放置控制器,我会得到一个错误,告诉我方法没有定义

<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中的名称空间前缀:

它不是路径,而是名称空间