【问题标题】:Laravel 5 - Add exceptions rendering logic from a packageLaravel 5 - 从包中添加异常渲染逻辑
【发布时间】:2015-04-30 04:46:07
【问题描述】:

我正在为 Laravel 5 开发一个包,我想将我自己的异常的呈现逻辑添加到默认的 ExceptionHandler

我不想替换默认的 Laravel 5 异常处理程序,只是想让安装我的包的应用程序知道我的包异常应该如何呈现。

我该怎么做?谢谢你:)

【问题讨论】:

    标签: php exception laravel exception-handling laravel-5


    【解决方案1】:

    如果您想替换应用程序异常处理程序,您可以在您的服务提供商中执行此操作。虽然从应用程序异常处理程序扩展可能很好,但会很困难,因为如果开发人员更改了应用程序命名空间,它可能不会被命名为 App\Excpetions\Handler

    $app->singleton(
        'Illuminate\Contracts\Debug\ExceptionHandler',
        'Vendor\Package\ExceptionHandler'
    );
    

    否则,您可能会考虑提供一个特征,开发人员可以将其拉入他们自己的ExceptionHandler 并以这种方式利用您的附加功能。

    【讨论】:

    • 感谢@dwight 的回复 :) 所以您建议使用呈现我的异常的方法创建一个特征,并要求用户在他的异常处理程序的render() 中调用该方法,对吗?
    • 是的,这就是我的建议。 trait 似乎是挂钩 Laravel 异常处理程序的最简单方法,无需移除开发人员的任何控制权。
    • 好的,我希望有办法在服务提供者中注册我的异常渲染逻辑。谢谢人:)
    猜你喜欢
    • 2015-05-07
    • 2016-07-01
    • 2019-05-12
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多