Laravel 5.1存储库在哪里?

时间:2015-07-09 20:28:26

标签: laravel laravel-5.1

我正在浏览由Laravel 5创建的社交网络教程,我正在使用Laravel 5.1,我发现在存储库文件夹中有一个像AuthenticateUser.php这样的教程中的文件。但是Laravel 5.1中甚至不存在存储库文件夹。我应该在Laravel 5.1中创建文件AuthenticateUser.php吗?

1 个答案:

答案 0 :(得分:2)

Laravel使用composer的自动加载,因此只要在composer.json文件中定义了自动加载机制,存储文件的位置无关紧要。 Laravel 5应用程序以composer.json

中定义的内容开头
"psr-4": {
    "App\\": "app/"
}

因此,如果您在app/Repositories创建了一个目录,则可以在其中创建一个如下所示的文件:

<?php namespace App\Repositories;

class MyRepository {

    public function doSomething() {}

}

然后您可以在应用程序的其余部分中引用它,如下所示:

<?php namespace App\Http\Controllers;

use App\Repositories\MyRepository;
use Illuminate\Routing\Controller as BaseController;

FooController {

    protected $repo;

    public function __construct(MyRepository $repo)
    {
        $this->repo = $repo;
    }

    public function someAction()
    {
        return $this->repo->doSomething();
    }
}

Composer将为您加载文件,只要您已定义了这样做的机制。