2016-11-19 2 views
1

Laravel에서 사용자 지정 보관함 (계약서 및 Eloquent)을 추가하려고합니다.
서비스를 추가 할 위치와 서비스를 바인딩하는 방법을 이해할 수 없습니다. Laravel에서 자체 wn 저장소 클래스 및 인터페이스를 추가하는 가장 좋은 예를 보여줄 수 있습니까? 저장소 패턴의 메이크업 사용에 대한 사전Laravel에 자체 저장소 클래스 및 인터페이스를 추가 할 위치는 어디입니까?

+2

나는 잘 모릅니다. Laravel은 이미 Eloquent를 포함하고 있습니다. 너 정확히 뭘 하려구? – bcmcfc

답변

0

에서

감사합니다 (이 경우 당신이하고 싶은 말 있음), 당신이 중 하나가 자기 정의 된 네임 스페이스에서 구현하는 두 가지 옵션을 가지고 (의이 App\Repositories을 가정 해 봅시다), 모든 저장소에서 사용하려는 메소드와의 인터페이스, 아마도 AbstractRepository 또는 그와 비슷한 것,이 하나의 선택은 작성해야하는 많은 코드, 다른 선택 (내가 사용하는 것) 때문에 고통 스럽습니다. 다음 패키지 https://github.com/andersao/l5-repository을 설치하려면 정말 유용하며 이미 많은 메소드가 있으며 readme 파일의 지침을 따르십시오.이 패턴을 구현하는 데 전혀 문제가 없으므로 도움이 되었으면합니다. ;)

+0

작은 프로젝트가있어서 추가 패키지를 추가하고 싶지 않습니다. 나는 디렉토리 구조를 알고 싶다. –

+1

글쎄,이 경우,이 자습서를 사용하여, 거기에 링크를 설명, 베스트! https://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/ http://heera.it/laravel-repository-pattern – bretanac93

+0

감사합니다. 이것이 내가 필요한 것입니다. –

0
  1. 앱 folder.Like에 디렉토리를 생성 - 앱/한국 전기
  2. 을 한국 전기 폴더에 저장소 파일을 만듭니다. App/Acme/CustomRepository.php 또한 해당 리포지토리 파일의 이름 공간을 가져옵니다. 예 : 이름 공간 Acme;
  3. 모델을 사용하십시오. Like- 은 App \ Models \ User를 사용합니다.
  4. 당신이

    클래스 CustomController이 컨트롤러를 확장하는 CustomRepository Class.Like-를 주입 컨트롤러에서 {

    개인 $ customRepo;

    public function __construct(CustomRepository $customRepo) 
    { 
    $this->customRepo= $customRepo; 
    } 
    

    }

1

내 Laravel 코드가 될 것이다 나는 구조 싶은 방법 :

모델 - App\Models\*

<?php 

namespace App\Models; 

use Illuminate\Database\Eloquent\Model as BaseModel; 

class Model extends BaseModel 
{ 
    // 
} 

계약 - App\Repositories\Contracts\*

<?php 

namespace App\Repositories\Contracts; 

interface Repository 
{ 
    // All the common methods for eloquent like - all, paginate, find, where, etc... 
} 

저장소 - App\Repositories\Db\*

<?php 

namespace App\Repositories\Db; 

class ExampleRepository 
{ 
    // All the CRUD related methods here... 
} 

서비스 - App\Services\*

<?php 

namespace App\Services; 

class ExampleService 
{ 
    // All the logic & business related methods here... 
} 

이 내가 laravel 방식으로 내 코드를 구성하고자하는 것이다.

희망이 도움이됩니다.