Php 如何执行不包含';如果与拉威尔分手,不要停止休息

Php 如何执行不包含';如果与拉威尔分手,不要停止休息,php,laravel,Php,Laravel,我正在用Laravel和VueJS构建一个完整的系统,在某个时候,我正在通过图像干预从图片列表生成图片 但这个过程可能会中断,我面临并解决的许多问题可能会在未来出现 你会建议我怎么做才能让一个坏代码不停止其余的工作?我在考虑调用一些独立、异步的服务 拉威尔能做到吗?我读过关于拉威尔和西蒙尼事件的报道,但这是我从未理解过的 Greetgins好吧,几天前我也遇到了类似的问题。尽管如此,我的问题与将数据从CSV插入数据库有关。因此,可能会有一些不同的数据类型生成错误并停止整个剩余过程。所以,我在我的

我正在用Laravel和VueJS构建一个完整的系统,在某个时候,我正在通过图像干预从图片列表生成图片

但这个过程可能会中断,我面临并解决的许多问题可能会在未来出现

你会建议我怎么做才能让一个坏代码不停止其余的工作?我在考虑调用一些独立、异步的服务

拉威尔能做到吗?我读过关于拉威尔和西蒙尼事件的报道,但这是我从未理解过的


Greetgins

好吧,几天前我也遇到了类似的问题。尽管如此,我的问题与将数据从CSV插入数据库有关。因此,可能会有一些不同的数据类型生成错误并停止整个剩余过程。所以,我在我的工作中使用了try-catch。我将向您展示参考资料,您可以根据需要修改:

$error_arr = array();
$error_row_numbers = array();

try{
         //Write your code here that might throw error
        $row = Model::updateOrCreate(
            ['id' => $id,
            $Arr
        );

    } catch (\Exception $e) {
       //Optionally you can store error message
       //and image number which is failed here
         $error_arr[] = $e->getMessage();
         $error_row_numbers[] = $row_no; //this row_no is different variable
                                         //and should be increased in loop
                                         //to determine exact image

    }

当然您可以使用排队作业、try/catch,通过完全独立的应用程序进行图像渲染。。。你可以选择不同的方法。Queue/Jobs是你所需要的,正如@ceejayoz所说,这里是谢谢你,我错过了英语词汇来找到这个。我会深入研究并不断更新帖子。非常感谢你的回答!使用异常与测试变量和使用Else条件有何不同?我应该如何处理例外情况?日志?我不明白你想说什么。但是,就我理解你的问题而言,我想说的是if-else与异常处理不同。在if-else中,如果遇到错误,它将停止整个过程。但是,如果可能出现错误,甚至无法开始执行,则可以使用if-else。这个例子可以是这样的:
field_1
需要是一个整数,在这种情况下,如果(field_1是一个整数){execute insert function}或者{just skip},你可以说
。但是,它更好,而且大多数可能出现错误的任务都在
try{}catch()中运行。
您完全理解我的问题。你是说我可以在不停止整个脚本的情况下处理PHP中的错误?因为在生产中,比如说生成预览图像的函数不起作用或者被API减慢了速度,我不想停止这个过程,预览图像并不比脚本的其余部分更重要。我可以使用异常在日志文件中创建日志行并继续吗?这样,我就可以在任何地方放置异常来控制生产中的代码。再次感谢你,你让我好奇@Miel先生为什么不使用laravel邮件功能呢。我已经向您展示了如何存储错误消息和一些项目的唯一标识。您可以存储映像名称/id以确定哪个映像失败。和稍后将这些数据数组发送给启动该图像生成功能的用户。所以,他可以再次启动那些失败的形象。