Php 在L5中如何处理有说服力的关系中的名称空间?

Php 在L5中如何处理有说服力的关系中的名称空间?,php,laravel-5,Php,Laravel 5,所以我有一个文件夹app/Models/Blog,其中有两个文件:Posts.php和Tags.php。这两个文件位于相同的App\Models\Blog名称空间中,但要使用多对多关系,我需要调用$This->belongtomany('App\Models\Blog\Tags')否则我会得到一个异常,没有找到标签类。。。是否有可能以某种方式摆脱App\Models\Blog\名称空间,只调用标记?这样做是可能的,但我认为这是个坏主意。您可以在app/Config/app.php中为类添加别名,

所以我有一个文件夹
app/Models/Blog
,其中有两个文件:
Posts.php
Tags.php
。这两个文件位于相同的
App\Models\Blog
名称空间中,但要使用多对多关系,我需要调用
$This->belongtomany('App\Models\Blog\Tags')否则我会得到一个异常,没有找到标签类。。。是否有可能以某种方式摆脱
App\Models\Blog\
名称空间,只调用
标记

这样做是可能的,但我认为这是个坏主意。您可以在app/Config/app.php中为类添加别名,以便将app\Models\Blog\Tags别名为标记,就像laravel类别名一样

我认为这是一个坏主意,因为它污染了根命名空间。例如,您试图将App\Models\Blog\Tags和其他App\Models\PaymentGateway\Tags别名为同一别名,因此最终会出现类命名冲突。这是名称空间设计用来解决的问题,但是将类别名到根名称空间会使问题再次出现