컨트롤러가있는 패키지를 개발 중입니다.이 패키지를 Laravel 및 Lumen 프로젝트와 호환 (또는 사용할 수 있음)하고 싶습니다. 내 문제는 Laravel 컨트롤러가 Illuminate\Routing\Controller
까지 확장되고 루멘 컨트롤러가 Laravel\Lumen\Routing\Controller
까지 확장됩니다. 내 패키지 안의 컨트롤러는 둘 다 확장 할 수 없습니다.Laravel 및 Lumen 컨트롤러를 패키지에 넣기
내가 가진 유일한 해결책은 패키지 내부의 컨트롤러를 확장하는 것입니다. App\Http\Controllers\Controller
.
App\Http\Controllers\Controller
이 존재한다 :는하지만 몇 가지 문제를 참조 즉,
App
네임 스페이스의 이름이 다르게 지정되면 작동하지 않습니다.- 패키지가 현재 패키지에 포함되어 있다고 인식하고 있습니다.
- 테스트 가능성 :
App\Http\Controllers\Controller
에 대한 참조로 인해 컨트롤러를 독립적으로 테스트 할 수 없습니다.
더 좋은 방법이 있나요?
편집 한
나는 비슷한 방식으로 영향을받는 다른 클래스를 찾는거야. 예를 들어, 특성 Authorizable
의 네임 스페이스는 Laravel에서 Illuminate\Foundation\Auth\Access
이고 Lumen에서는 Laravel\Lumen\Auth
입니다. 그 특성을 사용하는 모델을 사용하고 있습니다. 내 모델을 Lumen과 Laravel과 호환되게하려면 어떻게합니까?
이것을 알아 냈습니까? – Laurence
불행히도, 아니오. –