我有几个流明服务在render()
类的App\Exceptions\Handler.php
函数中具有相同的代码。我想将此代码移动到所有服务都可以包含的单独包中。通过使包Handler.php文件扩展Laravel\Lumen\Exceptions\Handler.php
类,基本上将我的类插入默认框架文件和用户编辑的Handler之间,我能够实现这一点。
更改:
class Handler extends Laravel\Lumen\Exceptions\Handler {...}
要:
我的班级
use Laravel\Lumen\Exceptions\Handler;
class MyHandler extends Handler {...}
框架类
use ServiceHelpers\Exceptions\MyHandler;
class Handler extends MyHandler {...}
但是当我在包中测试我的文件时,我遇到了Laravel\Lumen\Exceptions\Handler
不存在的问题。我在我的作曲家文件中需要几个illuminate/...
包,但看起来我正在尝试扩展的文件是在Laravel或Lumen框架中,我必须要求laravel/lumen
包我不认为是合适的。
我目前有以下要求:
"illuminate/support": "^5.5",
"illuminate/http": "^5.5",
"illuminate/validation": "^5.5",
我得到的错误是:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'Laravel\Lumen\Exceptions\Handler' not found
答案 0 :(得分:1)
从技术上讲,你的软件包依赖于laravel/lumen-framework
正在安装,因为它正在从该软件包扩展一个类。因此,将laravel/lumen-framework
作为您的包的依赖是合适的;你的包裹取决于它的安装。