この拡張機能は次の機能を提供します。
config()およびmodel()関数に正確なリターンタイプを提供します。service()およびsingle_service()関数に正確なリターンタイプを提供します。fake()ヘルパー関数の正確なリターンタイプを提供します。CodeIgniterModelのfind() 、 findAll() 、およびfirst()メソッドの正確なリターンタイプを提供します。asArray()またはasObject()が呼び出されたときに、 CodeIgniterModelの動的リターンタイプ変換を許可します。config()またはmodel()関数に渡されたかどうかを確認します。それぞれCodeIgniterConfigBaseConfigまたはCodeIgniterModelを拡張する有効なクラス文字列です。これはcodeigniter.checkArgumentTypeOfFactories: false phpstan.neon設定することでオフにできます。微調整されたコントロールの場合、 codeigniter.checkArgumentTypeOfConfigおよびcodeigniter.checkArgumentTypeOfModelを使用して無効にするファクトリー機能を個別に選択できます。注: codeigniter.checkArgumentTypeOfFactories: false 2つの特定のオプションを効果的にバイパスします。service()またはsingle_service()関数に渡されたかどうかを確認します。これは、codeigniter.checkargumenttypeofservicesを設定することでオフにできます: phpstan.neonでcodeigniter.checkArgumentTypeOfServices: false 。newを使用してキャッシュハンドラーをインスタンス化することを許可し、代わりにCacheFactoryクラスを使用することをお勧めします。newを使用してインスタンス化されたFrameworkExceptionクラスを許可します。$_SERVERと$_GETの直接再割り当てまたはアクセスを許可し、代わりにSuperglobalsクラスを使用することを提案します。config()とmodel()で::class fetchの使用を許可し、代わりにクラスの短い形式を使用することを提案します。 この拡張機能を使用するには、作曲家でそれを必要とします。
composer require --dev codeigniter/phpstan-codeigniter
PHPSTAN/Extension-Installerもインストールする場合は、すべて設定されています。
phpstan/extension-installer使用したくない場合は、プロジェクトのphpstan configにextension.neonを含めます。
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neonこのリポジトリの開発では、PHP 8.1+を使用します。
V1.1.0を開始すると、リリースには、低いPHPバージョンに合わせて格下げバージョンが付属しています。現在、サポートされている最低のダウングレードPHPバージョンはPHP 7.4です。
この拡張子は、可能なクラスを検索するときに、 config()およびmodel()関数のデフォルトの名前空間をそれぞれConfig and 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の下でライセンスされたオープンソースライブラリです。