Php 在Laravel中在何处添加自己的存储库类和接口?
我正在尝试在Laravel中添加自定义代表(合同和雄辩)。Php 在Laravel中在何处添加自己的存储库类和接口?,php,laravel,web,web-deployment,Php,Laravel,Web,Web Deployment,我正在尝试在Laravel中添加自定义代表(合同和雄辩)。 我不知道在哪里添加它们,以及如何与服务绑定。 任何主体都可以展示在Laravel中添加自己的wn存储库类和接口的最佳示例吗 提前感谢使用repository模式(如果这是您想要说的),您有两个选项,一个是在自定义名称空间下实现(比如说App\Repositories),一个包含您希望在所有存储库中使用的方法的接口,可能是AbstractRepository或类似的东西,这一个选择是痛苦的,因为您需要编写大量代码,另一个选择(我将使用)是
我不知道在哪里添加它们,以及如何与服务绑定。 任何主体都可以展示在Laravel中添加自己的wn存储库类和接口的最佳示例吗
提前感谢使用repository模式(如果这是您想要说的),您有两个选项,一个是在自定义名称空间下实现(比如说
App\Repositories
),一个包含您希望在所有存储库中使用的方法的接口,可能是AbstractRepository
或类似的东西,这一个选择是痛苦的,因为您需要编写大量代码,另一个选择(我将使用)是安装以下软件包,非常有用,并且已经包含了很多方法,只需按照自述文件的说明操作,在实现此模式时就不会有任何问题,希望它能有所帮助,最好!)
public function __construct(CustomRepository $customRepo)
{
$this->customRepo= $customRepo;
}
}我喜欢用以下方式构造我的Laravel代码: 型号-
App\Models\*
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model as BaseModel;
class Model extends BaseModel
{
//
}
<?php
namespace App\Repositories\Contracts;
interface Repository
{
// All the common methods for eloquent like - all, paginate, find, where, etc...
}
<?php
namespace App\Services;
class ExampleService
{
// All the logic & business related methods here...
}
存储库-App\Repositories\Db\*
<?php
namespace App\Repositories\Db;
class ExampleRepository
{
// All the CRUD related methods here...
}
这就是我喜欢用laravel的方式构造代码的原因
希望这有帮助 我不太明白。拉雷维尔已经包含了雄辩的。你到底想做什么?我有一个小项目,我不想增加额外的软件包。我想知道目录结构。好的,在这种情况下,使用这个教程,他们在那里解释,上面的链接,最好的!谢谢这就是我需要的。@vijaykumarervma如果你使用雄辩的语言,你不需要使用存储库。你有什么理由使用repository吗?如果你有一个非常棒的项目,并且想添加一个额外的层来保持清楚,我会理解的,但是如果你有一个像你所说的小项目,我认为你可以使用Elount开箱即用