首页 > 解决方案 > 在 Laravel 中的哪里放置字符串检查?控制器、模型或其他地方?

问题描述

我需要检查输入表单中的字符串以检查它是否是有效的 URL。我可能会像这样使用原生 PHP 函数:

filter_var($url, FILTER_VALIDATE_URL);

然后,如果 URL 有效,我将发出 CURL 请求以查看是否收到 200 响应。

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);

这将是 2 个独立的函数,但我的问题是这段代码最好放在 Laravel 文件夹层次结构中的哪个位置?

我想在控制器中它会“很好”,但这对我来说感觉像是业务逻辑,但是,新的 Laravel 模型只调用 2 个函数感觉不正确,尽管我可能想多了。

标签: phplaravel

解决方案


Laravel 提供了多种方法来验证传入的数据。这里已经有一个验证活动 url 的规则。

但由于您有多个要求,我会使用自定义验证规则

我不喜欢在主线程上完成 curl 请求,因为如果响应延迟,它会阻止请求,因此您可以使用Queue来实现。


推荐阅读