laravel - Laravel 5.1 存储库在哪里?

标签 laravel laravel-5

我正在阅读由 Laravel 5 创建的社交名流教程,我正在使用 Laravel 5.1,我看到教程中有一个文件,如存储库文件夹中的 AuthenticateUser.php 。但 Laravel 5.1 中甚至不存在 repositories 文件夹。我应该在 Laravel 5.1 中的哪里创建文件 AuthenticateUser.php

最佳答案

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 就会为您加载文件。

关于laravel - Laravel 5.1 存储库在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31327583/

相关文章:

php - 使用 laravel 预加载选择特定列不起作用

php - Laravel 应用程序动态更改 session 路径

php - 预加载 : Use `with` on pivot with eloquent relationship

php - 不能将 stdClass 类型的对象用作数组

php - Laravel 框架类在 PHPUnit 数据提供程序中不可用

php - Laravel 5.6 试图获取非对象的属性

php - 使用参数创建 [Laravel 5.2]

php - 如何从列中获取最高的 5 个值?

php - Laravel 中的多重身份验证使用或不使用

laravel - 我的 Octobercms 数据透视表获得了模型表在我尝试添加时应该获得的数据