快速(可能是愚蠢的)问题。
我正在为我的控制器使用命名空间,如下所示:
namespace Members;
use DB;
use Input;
use PerformanceReport;
use Redirect;
class AdminController extends MembersController {
正如预期的那样,我必须为我希望使用的Laravel类提供use语句。
根据我的理解,如果使用得当,作曲家自动加载器可以防止这种情况发生。
所以我的问题是,是否可以配置自动加载器以满足我的需求,如果是这样,我将如何做到这一点?
答案 0 :(得分:3)
您的问题与PHP命名空间的工作方式有关,而与作曲家的自动加载器无关。
如果你的班级在namespace Controllers;
并且你写Redirect::to('/')
php会认为你所引用的类是在当前声明的命名空间中(在这种情况下是Controllers /重定向)。你可以写\Redirect::to('/')
或者像你一样把use Redirect
语句放在最前面。
Composer的自动加载只是将名称空间映射到他们的文件目录(请参阅vendor/composer/autoload_classmap.php
了解它的映射方式)。
如果您想深入了解作曲家的自动加载,我建议您阅读PSR-0和PSR-4。