PHPStan 在 CodeIgniter 4 中找不到函数

问题描述 投票:0回答:1

我有一个 CodeIgniter 4 应用程序,我正在使用 PHPStan 来帮助我进行静态分析。我的问题是 PHPStan 抱怨他找不到 CodeIgniter 4 函数。我检查了 PHPStan 文档,我有这个 phpstan.neon 配置:

parameters:
level: 5
paths:
    - app\Models\IonAuthModel.php
scanDirectories:
    - app\config
    - app\controllers
    - app\database
    - app\filters
    - app\helpers
    - app\language
    - app\libraries
    - app\models
    - app\thirdparty
    - app\views
excludePaths:
    - app\models\IonAuthModel.php
    - app\controllers\Auth.php
    - app\controllers\Migrate.php
ignoreErrors:
    - '#Function view not found.#'
    - '#Function base_url not found.#'
    - '#Function redirect not found.#'
    - '#Function config not found.#'
    - '#Function helper not found.#'

正如你所看到的,我被迫在ignoreErrors中添加一些错误,但是列表正在增长。现在我对 lang 方法有错误:

$output[] = lang($message) !== $message ? lang($message) : '##' . $message . '##';

但是根据Codeigniter 4,这里正确使用了lang方法,并且PHPStorm对此方法没有任何抱怨。然而,PHPStan 给出了错误:

未找到函数语言。 💡了解更多信息https://phpstan.org/user-guide/discovering-symbols

但是我读了三遍上面的链接,仍然无法解决 PHPStan 找不到 CodeIgniter 函数的问题。谁能告诉我我做错了什么?

codeigniter phpstan
1个回答
0
投票

这些函数在这里定义:https://github.com/codeigniter4/framework/blob/master/system/Common.php

因此您需要将此文件放入项目中“发现符号”相关的配置参数中。

还有什么可能足以代替:将此文件 https://github.com/codeigniter4/framework/blob/master/system/bootstrap.php 放入 phpstan.neon 中的

bootstrapFiles

还有一些关于使用 PHPStan 分析 CodeIgniter 项目的旧 GitHub 问题,请查看它们,它们链接了一些带有示例配置的存储库:

© www.soinside.com 2019 - 2024. All rights reserved.