繁体   English   中英

处理Laravel错误的最佳方法

[英]best way to handle errors in laravel

我有些卡住,我有一个小表格和身份验证系统-Sentry。

1)从Input获取数据并进行验证。 没关系,我明白了,检查规则,设置messageBag

<?php
     $validation->getMessageBag()->setFormat(Config::get('project/config.errors_delimiters'));
?>

然后我返回页面withErrors方法。 并打印validation错误。

2)例如,下一步将是登录用户。 这意味着我需要使用Sentry 手册

但是现在我有一个问题:如何显示错误或存储错误。 我有:

  • 通过验证的错误消息
  • 通过哨兵的错误消息
  • 自定义错误
  • 成功讯息
  • 信息消息

哪个最佳实践存储此消息? 如何将其发送到视图? 以及如何在视图中解析它? 另外如何设置分隔符样式?

当然,我可以创建大量的Flash,会话和其他类型的数据,然后将其发送到视图中,但是我认为这很荒谬。 我认为有一个简单的方法可以帮助我。

很好的问题。 这就是我的处理方式。

因为验证错误使用了MessageBag,所以我要做的是

$messages = new MessageBag;

然后如果遇到任何错误,您可以

try {
    ...
} catch (Exception $e) {
    $messages->add("error", $e->getMessage());
}

如果返回其他错误,可以将其合并

$messages->merge($other_messages)

其中包括验证消息$ validation-> messages()。

因为messagebag接受密钥,所以可以通过$messages->add('info', 'ok')添加其他类型

然后在您的模板或控制器中,您可以通过

$messages->get('error')

在您检查之后

$messages->has('error')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM