首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Laravel 9 phpstan

Laravel 9 phpstan
EN

Stack Overflow用户
提问于 2022-06-21 11:38:00
回答 1查看 209关注 0票数 0

我得到了一个错误:

代码语言:javascript
运行
AI代码解释
复制
Cannot call method getClientOriginalExtension() on array<int, Illuminate\Http\UploadedFile>|Illuminate\Http\UploadedFile|null.

当我运行phpstan的时候

这是密码:

代码语言:javascript
运行
AI代码解释
复制
$imageName = time() . '.' . $request->file('image')->getClientOriginalExtension();
$request->file('image')->move(base_path() . '/public/uploads/', $imageName);

我试图添加$request->file('image')[0]->getClientOriginalExtension();,但没有修复它

EN

回答 1

Stack Overflow用户

发布于 2022-06-23 00:53:55

您得到该错误是因为此联合类型中不存在getClientOriginalExtensionarray<int, Illuminate\Http\UploadedFile>|Illuminate\Http\UploadedFile|null使用此联合类型是因为静态分析无法知道$request->file('image')是否将返回一个文件、文件数组或null

所以,首先,您可以做一个null检查。您要获取的文件可能不存在。

代码语言:javascript
运行
AI代码解释
复制
$file = $request->file('image');

if ($file === null) {
    // Handle this case
}

然后,您可以检查是否有多个文件或只有一个:

代码语言:javascript
运行
AI代码解释
复制
if ($file instanceof UploadedFile) {
    // It's one file
} else {
    // It's an array of files
}

但是,如果在用例中确定它总是一个文件,则可以这样做:

代码语言:javascript
运行
AI代码解释
复制
/** @var \Illuminate\Http\UploadedFile $file */
$file = $request->file('image');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72706258

复制
相关文章
PHP PHPStan 的使用
安装 composer require --dev phpstan/phpstan 修改composer.json "scripts": { ... "stan": [ " php -d memory_limit=-1 vendor/bin/phpstan analyse app routes database config tests" ] }, 在项目根目录添加.phpstan.neon配置文件 root@php-f
崔哥
2023/01/04
8400
PHP开发者必备的50个库/框架【2019】
Symfony是一个web应用开发框架,包含一组可重用的PHP组件。Symfony已经应用于上千个web应用,包括BlaBlaCar.com和Spotify.com以及大多数流行的PHP项目中,例如Drupal和Magento。
用户1408045
2019/08/25
5.3K0
Laravel 9个不经常用的小技巧
如果你想在更新关联表的同时,更新父表的timestamps,你只需要在关联表的model中添加touches属性。 比如我们有Post和Comment两个关联模型
猿哥
2019/04/24
7640
Laravel 6.10 版本发布,支持 PHPUnit 9,为 PHP 8 留下后手
Laravel 开发团队昨天发布了 v6.10 版本,本次版本发布包含 11 个新特性以及大量的问题修复、功能废弃和代码优化,另外,还引入了对 PHPUnit 9 的支持。
学院君
2020/01/17
2.5K0
Laravel 6.10 版本发布,支持 PHPUnit 9,为 PHP 8 留下后手
Laravel框架_php laravel框架
1、laravel是基于mvc模式的php框架,m——模型层,v——视图层,c——控制器层;以下为laravel框架的目录文件,框出来的文件目录将在后续中用到: 2、什么是MVC的开发思想? M 是 Model的简写,负责业务数据处理。 V 是 View的简写,负责显示数据和收集数据。 C 是Controller的简写,负责协调(调度)左右。
全栈程序员站长
2022/11/03
3.7K0
Laravel调试利器:Laravel Debugbar
Laravel Debugbar用于直观的显示调试及错误信息,提高开发效率。以及可以提供项目优化。
无道
2019/11/13
1.8K0
Laravel调试利器:Laravel Debugbar
Laravel学习记录--laravel模板
模板后缀: 模板名以php结尾 在模板中需使用 php原生解析变量 模板名blade.php结尾 直接使用{{变量}}即可 如果有xx.php 和 xxb.lade.php两个同名模板,优先使用blade模板 laravel 方法名不需要与模板名对应
切图仔
2022/09/14
1.9K0
Laravel学习记录--laravel模板
Laravel <= v8.4.2调试模式造成远程代码执行漏洞
2020年11月底, 在为我们的一个客户进行安全审计时, 我们发现了一个基于Laravel的网站. 虽然这个网站的安全状态很好, 但我们注意到它是在调试模式下运行的, 因此显示了大量的错误信息, 包括堆栈痕迹:
Khan安全团队
2021/01/25
6.2K0
【Laravel系列1】进入 Laravel 的世界
欢迎来到 Laravel 系列文章的学习。从这篇文章开始,我们开始进入到 PHP 框架相关的学习中。在这其中,我们主要学习的就是 Laravel 框架,那么为什么是 Laravel 呢?明明 TP 、 Yii 也是很多人在使用的呀。
硬核项目经理
2023/03/03
1.2K0
【Laravel系列1】进入 Laravel 的世界
【Laravel系列8】走出 Laravel 的世界
还记得这个系列的第一篇文章是什么吗?当时我们写的是《进入Laravel的世界》。照理说,学习完了,日常应用更得心应手了,我们为啥又要走出呢?
硬核项目经理
2023/03/03
1.3K0
【Laravel系列8】走出 Laravel 的世界
Laravel笔记
1.Laravel在truncate表的时候,如果有外键,先把约束检查关掉再清空表。如:
botkenni
2022/01/10
4980
Laravel基础
Tips: 业务逻辑不应该写在路由当中,路由只是接收参数后转发给控制器(Controller)进行处理
唐成勇
2019/05/26
7.8K0
Laravel 事件
php artisan make:listener PublishArticlesListener --event=PublishArticlesEvent
崔哥
2023/03/24
7970
Laravel笔记
1、路由示例 Route::get(‘demo/{id}’, ‘Demo\IndexController@index’); 匹配/demo/123格式 执行如下代码位置:app/Http/Con
苦咖啡
2018/04/28
7790
laravel笔记
redis $redisKey = "yixinzuqiu:houtai:column:getMatchListBySpecialColumn:{$userId}"; $data = Redis::connection('plan')->get($redisKey); if ($data) { $data = json_decode($data); }else{ Redis::connection('plan')->setex($redisKey, 60, json_encode($data
OwenZhang
2021/12/08
4970
Laravel 广播
安装请移步 https://www.cuiwei.net/p/1659113677
崔哥
2023/03/24
2.5K0
Laravel 广播
Laravel 队列
由于队列任务是长期存在的进程,因此如果不重新启动,他们不会注意到代码的更改。因此,使用队列任务部署应用程序的最简单方法是在部署过程中重新启动任务。您可以通过发出 queue:restart 命令优雅地重新启动所有进程:
崔哥
2023/02/27
1.2K0
laravel orm
laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。
全栈程序员站长
2021/11/01
6250
2021 11月Github热门项目
年关将至,大家都在忙着为项目贡献代码。12月初,GitHub官方在开源项目中挑选了下述顶级热门项目作为11月的优秀项目。
从大数据到人工智能
2022/01/19
6800
2021 11月Github热门项目
点击加载更多

相似问题

laravel 9可执行php phpstan

19

处理有关数组的phpstan错误级别9

114

使PHPStan理解Laravel雄辩的Builder ()

110

用symfony配置phpstan

117

FuelPHP的PHPStan配置

119
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文