我正在浏览由Laravel 5创建的社交网络教程,我正在使用Laravel 5.1,我发现在存储库文件夹中有一个像AuthenticateUser.php
这样的教程中的文件。但是Laravel 5.1中甚至不存在存储库文件夹。我应该在Laravel 5.1中创建文件AuthenticateUser.php
吗?
答案 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将为您加载文件,只要您已定义了这样做的机制。