@superkolya

Как скрыть ошибки в phpstan?

Есть проект на phalcon framework. При прогоне через phpstan разумеется выдается ошибка типа
Class App\Validation\PhalconValidationWithAssertion not found and not be autoloaded.


При настройке phpstan.neon добавил вот такую настройку:
parameters:
  ignoreErrors:
    - '#Class Phalcon\\[a-zA-Z0-9\\]+ not found and could not be autoloaded\.#'

И при повторном прогоне через phpstan получаю вот такие сообщения:

Error message "Class Phalcon\Di\InjectionAwareInterface not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Http\Request not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Mvc\ModelInterface not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Logger\Adapter not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Logger\Formatter\Line not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Logger\Formatter not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Mvc\Model not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Mvc\Model not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Mvc\User\Component not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Mvc\User\Component not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Mvc\User\Component not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Mvc\User\Component not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.
Error message "Class Phalcon\Events\EventsAwareInterface not found and could not be autoloaded." cannot be ignored, use excludes_analyse instead.

Разумеется, исключить файлы как рекомендует phpstan я не могу, ибо тогда половина проекта не будет анализироваться. Есть ли какие-нибудь варианты обхода?

Еще есть проблемы с автолоадером composer'а. Если запускать проект, то autoload composer'а работает нормально, но если пытаться прогнать phpstan'ом, то он начинает выдавать ошибки:
Requests/Request.php                                           
 ------ --------------------------------------------------------------- 
         Class App\Requests\AbstractRequest not found and could not be  
         autoloaded.

Когда файл класса Request.php:
<?php
namespace App\Requests;

class Request extends AbstractRequest
{

}

Файл AbstractRequest:
<?php
namespace App\Requests;

abstract class AbstractRequest extends \Phalcon\Http\Request
{
    public function validate()
    {
        return true;
    }
}

а в composer.json секция автолоадера:
"autoload": {
        "psr-4": {
            "App\\": "app/",
            "Db\\": "db/",
            "Domain\\": "Domain/"
        }
    },

Запускаю phpstan из докер контейнера, предварительно пробросив туда ФС проекта. phpstan файл vendor/autoload.php видит, так же пробовал в phpstan.neon путь до autoload.php composer'а, результат тот же. Подскажите что не так делаю
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Лучшие люди Иваново
от 40 000 до 90 000 руб.
N1.RU Новосибирск
от 100 000 руб.
Living Core Казань
от 50 000 руб.
21 сент. 2019, в 00:13
5000 руб./за проект
20 сент. 2019, в 20:02
3000 руб./за проект
20 сент. 2019, в 19:04
80000 руб./за проект