2017-10-22 7 views
0

App\Exceptions\Handler.php 클래스 내의 render() 함수 내에서 동일한 코드를 가진 루멘 서비스가 여러 개 있습니다. 이 코드를 모든 서비스에 포함시킬 수있는 별도의 패키지로 옮기고 싶습니다. 나는 기본적으로 기본 프레임 워크 파일과 사용자가 편집하는 핸들러 사이에 클래스를 삽입하여 Laravel\Lumen\Exceptions\Handler.php 클래스를 Handler.php 파일 패키지로 확장하여이 작업을 수행 할 수있었습니다.패키지 내에 Laravel Lumen Exceptions Handler.php를 확장하십시오.

변경 :

class Handler extends Laravel\Lumen\Exceptions\Handler {...}

에 :

내 클래스

use Laravel\Lumen\Exceptions\Handler; 

class MyHandler extends Handler {...} 

프레임 워크 클래스

use ServiceHelpers\Exceptions\MyHandler; 

class Handler extends MyHandler {...} 

그러나 나는 INT를 실행 o Laravel\Lumen\Exceptions\Handler이 패키지 내에서 파일을 테스트 할 때 존재하지 않는 문제. 필자는 작곡가 파일에 여러 개의 illuminate/... 패키지가 필요하지만 확장하려고하는 파일이 Laravel 또는 Lumen 프레임 워크에있는 것처럼 보입니다. 적절하지 않다고 생각하는 laravel/lumen 패키지가 필요합니다.

는 내가 현재 필요한 다음 한 해요 :

"illuminate/support": "^5.5", 
"illuminate/http": "^5.5", 
"illuminate/validation": "^5.5", 

내가지고있어 오류는 다음과 같습니다

이 때문에

답변

1

글쎄, 기술적으로, 패키지는 laravel/lumen-framework에 따라

[Symfony\Component\Debug\Exception\FatalErrorException] 
    Class 'Laravel\Lumen\Exceptions\Handler' not found 
가 설치되고 해당 패키지에서 클래스를 확장합니다. 이 때문에 패키지에 대한 종속성이 laravel/lumen-framework 인 것이 적절합니다. 귀하의 패키지는 설치되는 패키지에 달려 있습니다.

+0

괜찮습니다. 필요한 프레임 워크의 부분 만 포함하려고했지만 모든 문제를 해결하는 것 같습니다. – Ethan22