[英]PHP 7.3 - Laravel 7 - Is there a way to fake run a function, make sure it doesn't give errors and only then actually run it?
PHP 7.3 - Laravel 7我试着解释一下自己。 我会说我是一名初级开发人员。
我创建了一个通常不会产生错误的管理平台。 它主要供经验不足的人使用。 还有那些罕见的错误“他们害怕” ; 他们宁愿看到一个空白页。
所以我的问题是,
有没有办法让 PHP “虚拟”执行 function 并且只有在没有错误的情况下才会真正执行它,否则 go 返回上一页? (希望文中没有错误;我使用了翻译器)非常感谢
编辑我再补充一件事。 例如,function 还包含数据库中的保存。 并且可能 PHP 在此保存后遇到错误。 try/catch 方法是否会阻止保存到数据库或仅在遇到错误时“返回”? 谢谢
编辑:添加了 DB Transactions 以解决有关此问题的说明。
您可以将任何 function 包装在 try-catch 语句中,这将允许您通过不同的方式完成相同的结果。 在 controller 中使用的示例如下:
DB::beginTransaction();
try {
// your custom function here, which may fail
// Also add in any Database transactions, eloquent models or DB statements
DB::commit(); // otherwise it doesn't save anything in the database
return view();
} catch (Exception $e) {
// This will only run if the above throws an exception
DB::rollback();
return back()->withErrors(['message'=>'']);
}
这是著名的 Laravel Dev Database Transactions in Laravel by Caleb Porzio提供的一个很好的资源
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.