sustainabil-it / phpstan-higher-order-collections
Higher Order Collection Support for PHPStan
Installs: 78 972
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Type:phpstan-extension
Requires
- php: ^7.4 || ^8.0
- phpstan/phpstan: ^0.12.48|^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- illuminate/collections: ^8.9
- phpunit/phpunit: ^9.4
Suggests
- illuminate/collections: This package works with Laravel Collections by default, but does not require them
- laravel/framework: This package works with Laravel Collections by default, but does not require them
This package is auto-updated.
Last update: 2024-10-27 14:18:11 UTC
README
This plugin adds PHPStan support to Higher Order Messaging on the Collection concept popularized by Laravel.
This extension provides following features:
Illuminate\Support\Collection
knows the type(s) of its contents using PHPStan Generics, which ensures that methods called on the Proxy objects are actually valid, and have their return types correctly inferred.
Installation
To use this extension, require it in Composer:
composer require --dev sustainabil-it/phpstan-higher-order-collections
This plugin exposes a few configuration options if you happen to have special needs, like your own Collection implementation:
parameters:
higherOrderCollection:
- collectionClass: Illuminate\Support\Enumerable
- proxyClass: Illuminate\Support\HigherOrderCollectionProxy
- keyTemplate: TKey
- typeTemplate: TValue
- proxyTemplate: TReturn
- proxyMethods:
- map
- filter
If you also install phpstan/extension-installer then you're all set!
Manual installation
If you don't want to use phpstan/extension-installer
, include extension.neon in your project's PHPStan config:
includes:
- vendor/sustainabil-it/phpstan-higher-order-collections/extension.neon