繁体   English   中英

PHP 7.3 - Laravel 7 - 有没有办法伪造运行 function,确保它没有给出错误然后才真正运行它?

[英]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.

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