2013-06-15 4 views
2

소스 코드를 수정하지 않고 Eloquent 모델에 추가하는 방법은 무엇입니까? 그 말은 내 말은 내가 사용자 모델을 가지고 있고 ProfilePost에 has_many 관계를 추가하고 싶지만 사용자 모델을 수정하고 싶지는 않습니다. 나중에 타사 개발자가 내 사용자 모델의 소스 코드를 변경하지 않고 관계를 내 사용자 모델에 추가 할 수 있기 때문에이 작업을 수행하고 싶습니다. 이에 대한 해결책은 무엇입니까? onetomany 관계를 살펴 봤지만 사용자 모델에 belongs_to 절을 추가해야합니다.확장 가능한 Eloquent 모델을 만드는 방법은 무엇입니까?

허용되는 해결책은 무엇입니까?

답변

1

은 개발자가 새로운 사용자 모델을 만들고 사용자 모델을 확장 한 솔루션입니다.

사용자 모델

<?php namespace \App\Models; 

use Eloquent; 

class User extends Eloquent {} 

제 3 자 개발자 사용자 모델 \ custom_lib 모델 \ 지금

<?php namespace \custom_lib\Models; 

use \App\Models\User as BaseUser; 

class User extends BaseUser {} 

\ 사용자는 제 3 자 개발자는 자신의 LIB의 관계를 추가 할 수 있습니다 /플러그인.

+0

이것은 여전히 ​​devs가 사용자 모델을 확장하지만 이미 작성된 코드는 이전 버전을 사용하는 문제가 있습니다. 나는 이것을 위해 IOC 컨테이너를보고 있었지만 충분히 확장 할 수 없다. 어떤 아이디어? – james123

관련 문제