问题标签 [phpstan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - Phpstan教义数据库连接错误
我在一个项目中使用学说(不是 symfony)。在这个项目中,我还使用了 phpstan,我同时安装了phpstan/phpstan-doctrine
和phpstan/extension-installer
. 我的 phpstan.neon 是这样的:
在 tests/object-manager.php 中,它返回调用返回实体管理器的函数的结果。
这是创建实体管理器的代码
当我运行时,vendor/bin/phpstan analyze
我收到此错误:
这是因为我正在使用 docker,而我的数据库 url 是postgres://user:password@postgres_db/database
postgres_db
我的数据库容器的名称,因此主机名在 docker 容器内是已知的。
当我在容器内运行 phpstan 时,我没有错误。
那么有没有办法在 docker 之外运行 phpstan ?因为我很确定当我推送我的代码时,github 工作流程会因此而失败
phpstan 需要尝试访问数据库吗?
php - 将属性键入到比用于初始化它的函数返回的接口更具体的类
我正在尝试将我的 phpstan 设置提升到第 3 级,但我收到如下错误:
在一个看起来像这样的类上:
我知道我的 ORM 的getRepository
方法返回RepositoryInterface
,因为它不能更具体,但我需要@var
typehint 来告诉我的 IDE 工具和 phpstan,在这个类中,$repository
更具体地是一个SpecificRepository
. 我该怎么做?
php - 使用 phpdocblock 在 php 中定义方法/函数的通用返回
有没有办法指定函数将返回特定类型的对象,其中类型是参数之一的字符串?
例如
这样当我这样做时 vscode 或 phpstorm 就会知道
$myvar 将是 MyClass 类型,我将拥有适当的智能感知/自动完成功能吗?
php - 我如何将这个奇怪的 PHP 行翻译成不那么紧凑的东西?
我有这段代码,它是我用来确定给定字符串是否是保留的 PHP 关键字的函数的一部分(因为 PHP 没有内置的函数):
它使 PHPStan 吠叫:
参数 #1 $array of function reset 需要给出 array|object, array<int, int|string>|string。
我不知道为什么,但希望错误消失,所以我试图“展开”这条紧凑的线路,但我意识到我不明白它在做什么。你能解释一下并帮助我吗?我经常发现将事情分成单独的行/操作会使 PHPStan 停止吠叫。
php - 从未导入类 App\Controller\UserController 中的注释“@apiDefine”
我同时使用phpstan
and apidoc
,但我在 phpstan 上有一个错误,我找不到解决或忽略的方法。
据我了解,apidoc 不需要任何导入,但是当 phpstan 进入我的文件时,它不知道此注释,因此会触发错误。
在我看来,最好的解决方案是忽略这种错误,但它说:
不能忽略,请改用 excludePaths。
但我想将此文件保留在 phpstan 分析中。
我怎样才能修复这个错误或忽略它?
php - 为什么当我使用 is_string 时 PHPStan 显示类型错误?
我有这个代码:
PHPStan 报错:
二元运算“.” 在 '"' 和 non-empty-array|non-empty-string|true 之间会导致错误。
我不明白为什么会这样:我知道pg_last_notice
如果设置了其他条件,它也可以返回布尔值或数组,但我有一个is_string
检查,所以 PHPStan 应该知道这是一个字符串。
php - 处理关于数组的 phpstan 错误级别 9
我在我的存储库中创建了一个函数:
这个函数在我的控制器中调用,如果我转储它,我有
所以我的函数返回我输入的内容array<int, array<int, string>>
,但是 phpstan 抛出这个错误: Method App\Repository\QuoteRequestRepository::findByBuildingGroupByCompany() should return array<int, array<int, string>> but returns mixed
。
如果我返回混合,它会抛出这两个错误:
我真的不知道如何处理它:(
任何想法 ?