Cette extension fournit les fonctionnalités suivantes:
config() et model() .service() et single_service() .fake() .find() , findAll() et first() CodeIgniterModel .CodeIgniterModel lorsque asArray() ou asObject() est appelée.config() ou model() est une chaîne de classe valide étendant respectivement CodeIgniterConfigBaseConfig ou CodeIgniterModel . Cela peut être désactivé en définissant codeigniter.checkArgumentTypeOfFactories: false dans votre phpstan.neon . Pour un contrôle à grain fin, vous pouvez choisir individuellement la fonction d'usine à désactiver en utilisant codeigniter.checkArgumentTypeOfConfig et codeigniter.checkArgumentTypeOfModel . Remarque: Définition codeigniter.checkArgumentTypeOfFactories: false contournera efficacement les deux options spécifiques.service() ou single_service() est un nom de service valide. Cela peut être désactivé en définissant codeigniter.checkArgumentTypeOfServices: false dans votre phpstan.neon .new et suggère d'utiliser la classe CacheFactory à la place.FrameworkException instanciantes en utilisant new .$_SERVER et $_GET et suggère d'utiliser la classe Superglobals à la place.::class sur config() et model() et suggère d'utiliser la forme courte de la classe à la place. Pour utiliser cette extension, nécessitez-le dans le compositeur:
composer require --dev codeigniter/phpstan-codeigniter
Si vous installez également PhpStan / Extension-Installer, vous êtes tous réglés!
Si vous ne souhaitez pas utiliser phpstan/extension-installer , incluez l'extension.neon dans la configuration phpstan de votre projet:
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neonLe développement dans ce référentiel utilise PHP 8.1+ .
Démarrage de V1.1.0, les versions sont livrées avec une version rétrogradée pour s'adapter aux versions PHP inférieures. Actuellement, la version PHP rétrograrée la plus faible est PHP 7.4 .
Cette extension ajoute l'espace de noms par défaut pour config() et model() les fonctions comme Config et AppModels , respectivement, lors de la recherche de classes possibles. Si votre application utilise d'autres espaces de noms, vous pouvez configurer cette extension dans votre phpstan.neon pour reconnaître ces espaces de noms:
parameters :
codeigniter :
additionalConfigNamespaces :
- AcmeBlogConfig
- FooBarConfig
additionalModelNamespaces :
- AcmeBlogModels
Pour les fonctions service() et single_service() , vous pouvez demander à PHPSTAN de considérer vos propres classes d'usine de services. Veuillez noter que ce devrait être une classe valide étendant CodeIgniterConfigBaseService !
parameters :
codeigniter :
additionalServices :
- AcmeBlogConfigServiceFactory Lorsque le modèle transmis à fake() a la propriété $returnType définie sur array , cette extension donnera une forme de tableau précise basée sur les champs autorisés du modèle. La plupart du temps, les champs formatés sont des cordes. Si ce n'est pas une chaîne, vous pouvez indiquer le type de retour au format pour le champ particulier.
parameters :
codeigniter :
notStringFormattedFields : # key-value pair of field => format
success : bool
user_id : int Toutes les contributions sont les bienvenues.
Si vous souhaitez voir une nouvelle règle ou une nouvelle extension spécifique à CodeIgniter, veuillez ouvrir une demande de fonctionnalité. Si vous pouvez contribuer le code vous-même, veuillez ouvrir une demande de traction à la place.
Avant de signaler des bogues, veuillez vérifier si le bogue ne se produit que si vous utilisez cette extension avec PHPSTAN. Si le bogue est reproductible dans PHPSTAN seul, veuillez y ouvrir un rapport de bogue. Merci!
PHPSTAN Codeigniter est une bibliothèque open source sous licence MIT.