I have an CodeIgniter 4 application, and I am using PHPStan to help me with static analysis. My problem is that PHPStan complain that he can not find the CodeIgniter 4 functions. I check the PHPStan documentation, and I have this phpstan.neon configuration:
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.#'
As you can see I have been forced to add some of the errors in ignoreErrors, but list is growing. Now I have error about the lang method:
$output[] = lang($message) !== $message ? lang($message) : '##' . $message . '##';
but according to Codeigniter 4, lang method is correctly used here, and PHPStorm has no complain about this method. However, PHPStan gives the error:
Function lang not found. 💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
But I readed three times the link above and I can stil not resolve the issue with CodeIgniter function not found by PHPStan. Can anyone tell me what I am doing wrong?