/ / Rozšírte LaravelLumenExceptionsHandler.php vo vnútri balíka - laravel, lumen

Rozšírte balík LaravelLumenExceptionsHandler.php vo vnútri balíka - laravel, lumen

Mám niekoľko služieb Lumen, ktoré majú vo vnútri systému rovnaký kód render() funkcia v rámci AppExceptionsHandler.php trieda. Chcem presunúť tento kód do samostatného balíka, ktorý môžu obsahovať všetky služby. Podarilo sa mi to dosiahnuť tým, že súbor Handler.php rozšíril súbor LaravelLumenExceptionsHandler.php triedy, v zásade vkladám moju triedu medzi predvolený súbor rámcov a popisovač, ktorý používatelia upravujú.

Zmena:

class Handler extends LaravelLumenExceptionsHandler {...}

Ak chcete:

Moja trieda

use LaravelLumenExceptionsHandler;

class MyHandler extends Handler {...}

Rámcová trieda

use ServiceHelpersExceptionsMyHandler;

class Handler extends MyHandler {...}

Avšak narazil som na problém LaravelLumenExceptionsHandler neexistuje, keď jednotka testuje môj súbor v rámci balíka. Potrebujem niekoľko illuminate/... balíčky v mojom skladateľskom súbore, ale vyzerá to, že súbor, ktorý sa snažím rozšíriť, je v rámčeku Laravel alebo Lumen a musím vyžadovať laravel/lumen balík, o ktorom si nemyslím, že je vhodný.

Momentálne potrebujem nasledujúce:

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

Chyba, ktorú dostávam, je:

[SymfonyComponentDebugExceptionFatalErrorException]
Class "LaravelLumenExceptionsHandler" not found

odpovede:

1 pre odpoveď č. 1

Z technického hľadiska závisí váš balík laravel/lumen-framework inštalácia, pretože rozširuje triedu z tohto balíka. Z tohto dôvodu mať laravel/lumen-framework ako závislosť vášho balíka je vhodná; váš balík závisí od jeho inštalácie.