Это расширение предоставляет следующие функции:
config() и model() .service() и single_service() .fake() .CodeIgniterModel find() , findAll() и first() .CodeIgniterModel , когда вызывается asArray() или asObject() .config() или model() является действительной строкой класса расширяющимся CodeIgniterConfigBaseConfig или CodeIgniterModel , соответственно. Это можно отключить, установив codeigniter.checkArgumentTypeOfFactories: false в вашем phpstan.neon . Для мелкозернистого управления вы можете индивидуально выбрать, какую заводскую функцию отключите с помощью codeigniter.checkArgumentTypeOfConfig и codeigniter.checkArgumentTypeOfModel . Примечание. Настройка codeigniter.checkArgumentTypeOfFactories: false эффективно обходится двумя конкретными параметрами.service() или single_service() является действительным именем службы. Это можно отключить, установив codeigniter.checkArgumentTypeOfServices: false в вашем phpstan.neon .new и предлагает вместо этого использовать класс CacheFactory .FrameworkException Classcessception с использованием new .$_SERVER и $_GET и предлагает вместо этого использовать класс Superglobals .::class Fetch на config() и model() и предлагает вместо этого использовать короткую форму класса. Чтобы использовать это расширение, требовать его в композиторе:
composer require --dev codeigniter/phpstan-codeigniter
Если вы также установите Phpstan/Extension-Installer, то вы все настроены!
Если вы не хотите использовать phpstan/extension-installer , включите Extension.neon в конфигурации вашего проекта Phpstan:
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neonРазвитие в этом репозитории использует PHP 8.1+ .
Начиная с v1.1.0, выпуски поставляются с пониженной версией в соответствии с более низкими версиями PHP. В настоящее время самая низкая поддержанная понижаемая версия PHP - PHP 7.4 .
Это расширение добавляет пространство имен по умолчанию для config() и model() функционирует как Config и AppModels , соответственно, при поиске возможных классов. Если ваше приложение использует другие пространства имен, вы можете настроить это расширение в своем phpstan.neon для распознавания этих пространств имен:
parameters :
codeigniter :
additionalConfigNamespaces :
- AcmeBlogConfig
- FooBarConfig
additionalModelNamespaces :
- AcmeBlogModels
Для функций service() и single_service() вы можете указать PHPSTAN рассмотреть свои собственные классы фабрики услуг. Обратите внимание, что это должен быть действительный класс, расширяющий CodeIgniterConfigBaseService !
parameters :
codeigniter :
additionalServices :
- AcmeBlogConfigServiceFactory Когда модель, передаваемая в fake() имеет свойство $returnType установленное на array , это расширение даст точную форму массива на основе разрешенных полей модели. В большинстве случаев форматированные поля являются строками. Если не строка, вы можете указать тип возврата формата для конкретного поля.
parameters :
codeigniter :
notStringFormattedFields : # key-value pair of field => format
success : bool
user_id : int Любые взносы приветствуются.
Если вы хотите увидеть новое правило или расширение, специфичное для Codeigniter, откройте запрос на функцию. Если вы можете внести свой вклад сам, пожалуйста, откройте запрос на вытяжку.
Прежде чем сообщать о каких -либо ошибках, проверьте, возникает ли ошибка, только если использует это расширение с Phpstan. Если ошибка воспроизводима только в Phpstan, вместо этого откройте там отчет об ошибке. Спасибо!
Phpstan Codeigniter - это библиотека с открытым исходным кодом, лицензированная в соответствии с MIT.