Esta extensión proporciona las siguientes características:
config() y model() .service() y single_service() .fake() .CodeIgniterModel 's find() , findAll() y first() .CodeIgniterModel cuando se llama asArray() o asObject() .config() o model() es una cadena de clase válida que extiende CodeIgniterConfigBaseConfig o CodeIgniterModel , respectivamente. Esto se puede desactivar configurando codeigniter.checkArgumentTypeOfFactories: false en su phpstan.neon . Para un control de grano fino, puede elegir individualmente qué función de fábrica deshabilitar utilizando codeigniter.checkArgumentTypeOfConfig y codeigniter.checkArgumentTypeOfModel . Nota: Configuración codeigniter.checkArgumentTypeOfFactories: false omitirá efectivamente las dos opciones específicas.service() o single_service() es un nombre de servicio válido. Esto se puede desactivar configurando codeigniter.checkArgumentTypeOfServices: false en su phpstan.neon .new y sugiere usar la clase CacheFactory en su lugar.FrameworkException usando new .$_SERVER y $_GET y sugiere usar la clase Superglobals en su lugar.::class de búsqueda en config() y model() y sugiere usar la forma corta de la clase. Para usar esta extensión, requiere en compositor:
composer require --dev codeigniter/phpstan-codeigniter
Si también instala PHPSTAN/Extension-Installer, ¡está listo!
Si no desea utilizar phpstan/extension-installer , incluya Extension.neon en la configuración PHPSTAN de su proyecto:
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neonEl desarrollo en este repositorio utiliza PHP 8.1+ .
Comenzando V1.1.0, las versiones vienen con una versión degradada para adaptarse a las versiones de PHP más bajas. Actualmente, la versión PHP de baja calificación compatible es PHP 7.4 .
Esta extensión agrega el espacio de nombres predeterminado para las funciones config() y model() como Config y AppModels , respectivamente, al buscar posibles clases. Si su aplicación usa otros espacios de nombres, puede configurar esta extensión en su phpstan.neon para reconocer esos espacios de nombres:
parameters :
codeigniter :
additionalConfigNamespaces :
- AcmeBlogConfig
- FooBarConfig
additionalModelNamespaces :
- AcmeBlogModels
Para las funciones service() y single_service() , puede instruir a PHPSTAN que considere sus propias clases de fábrica de servicios. ¡Tenga en cuenta que debería ser una clase válida que extiende CodeIgniterConfigBaseService !
parameters :
codeigniter :
additionalServices :
- AcmeBlogConfigServiceFactory Cuando el modelo pasado a fake() tiene la propiedad $returnType establecido en array , esta extensión dará una forma de matriz precisa basada en los campos permitidos del modelo. La mayoría de las veces, los campos formateados son cuerdas. Si no es una cadena, puede indicar el tipo de retorno de formato para el campo particular.
parameters :
codeigniter :
notStringFormattedFields : # key-value pair of field => format
success : bool
user_id : int Cualquier contribución es bienvenida.
Si desea ver una nueva regla o extensión específica de CodeInigner, abra una solicitud de función. Si puede contribuir con el código usted mismo, abra una solicitud de extracción.
Antes de informar cualquier error, verifique si el error ocurre solo si se usa esta extensión con PHPSTAN. Si el error es reproducible solo en Phpstan, abra un informe de error allí. ¡Gracias!
Phpstan CodeIgniter es una biblioteca de código abierto con licencia bajo MIT.