cakedc/cakephp-phpstan
CakePHP plugin extension for PHPStan.
4.3.0
950K downloads/mo
#2970 most downloaded on Packagist
CakeDC/cakephp-phpstan
What this package is like to depend on
Last release 3 months ago
21 May 2026
Release timing varies
gaps range from 3 weeks to 1.7 years
Some releases are documented
notes for 10 of 17 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
17 releases · first in 2020
4 releases in the last 12 months
see the full history below
Release timeline
17 releases · May 2020 to May 2026Releases
latest 17-
4.3.021 May 2026Release notes
Open source →What's Changed
- Narrow Cake\ORM\Association::find() return to SelectQuery by @dereuromark in #68
Full Changelog: 4.2.0...4.3.0
-
4.2.010 Apr 2026Release notes
Open source →What's Changed
- Ignore deprecated method warnings in test_app PHPStan config by @dereuromark in #67
- Add SelectQueryFindListReturnTypeExtension for find('list')->toArray() by @dereuromark in #64
- feat: Support custom application namespace by @georgeconstantinou in #66
New Contributors
- @georgeconstantinou made their first contribution in #66
Full Changelog: 4.1.1...4.2.0
Release notes
Open source →New Features
SelectQueryFindListReturnTypeExtension: Provides proper return type inference forfind('list')->toArray(), returningarray<int|string, string>instead of the generic entity array type. Works with chained queries (where(),orderBy(),limit(), etc.).groupFieldsupport forfind('list'): WhengroupFieldis provided tofind('list'), the return type is correctly inferred asarray<int|string, array<int|string, string>>.- Custom application namespace: Support for defining a custom application namespace via the
cakeDC.appNamespaceconfiguration parameter (defaults toApp).
Improvements
- Made constructor dependency in rules/extensions optional to preserve backwards compatibility; instances self-instantiate if none is provided.
-
4.1.113 Nov 2025Release notes
Open source →What's Changed
- Fix up Reflection. by @dereuromark in #56
- AssociationTableMixinClassReflectionExtension must rely on generic to detect native methods by @rochamarcelo in #57
- Type factory by @rochamarcelo in #58
- Feature/disallow debug functions by @rochamarcelo in #59
- DisallowEntityArrayAccessRule ignore custom keys and enabled by @rochamarcelo in #62
Full Changelog: 4.1.0...4.1.1
Release notes
Open source →Improvements
DisallowEntityArrayAccessRule: ignore custom (non-integer) array access keys, allowing legitimate use cases.
-
4.1.012 Oct 2025Release notes
Open source →What's Changed
- Required PHPStan ^2.1.26
- Fix up badges by @dereuromark in #41
- 3.next cake5 by @steinkel in #43
- Cake5 fixes by @dereuromark in #53
- Rule to enforce that certain controller methods must "used" by @dereuromark in #50
- Fix up assoc bug in findBy magic. by @dereuromark in #52
Full Changelog: 4.0.0...4.1.0
Release notes
Open source →New Features
- Added
ControllerMethodMustBeUsedRule: enforces thatrender()andredirect()must be used (returned or assigned) to prevent unreachable code.
-
4.0.011 Nov 2024Release notes
Open source → -
3.2.021 Oct 2024Release notes
Open source →What's Changed
- Update composer.json by @dereuromark in #34
- Feature/expression type resolver extension by @rochamarcelo in #36
- New extension to handle trait's method Cake\Mailer\MailerAwareTrait::getMailer
- New extension to handle trait's method Cake\ORM\Locator\LocatorAwareTrait::fetchTable
- PHPQA fixes, errors found on a clean install
- New rules by @rochamarcelo in #38
- Added optional rule DisallowEntityArrayAccessRule
- Aded rule GetMailerExistsClassRule
- Added rule LoadComponentExistsClassRule
- Updated doc with new rules
- Fixed code to ignore the rule LoadObjectExistsCakeClassRule when target class is not from a value we can extract
Full Changelog: 3.1.2...3.2.0
-
3.1.227 Feb 2024Release notes
Open source →What's Changed
- Backward compatibility with CakePHP 4 finder structure by @rochamarcelo in #31
- Fixed check finder method by @rochamarcelo in #31
Full Changelog: 3.1.1...3.1.2
-
3.1.123 Feb 2024Release notes
Open source →What's Changed
- Issue/cakephp rule accept set classname by @rochamarcelo in #29
Full Changelog: 3.1.0...3.1.1
-
3.1.022 Feb 2024Release notes
Open source →What's Changed
- Feature/fetch table with default table by @rochamarcelo in #19
- Check defined $defaultTable when calling LocatorAwareTrait::fetchTable without arguments
- For controllers when calling fetchTable without arguments and not defined custom $defaultTable try to detect the table based on the Controller's className
- Fixed console helper extension to use ucfirst as is done in the method ConsoleIo::helper
- Update README.md by @steinkel in #23
- Add license file and fix readme links by @steinkel in #24
- Update README.md by @dereuromark in #21
- Update ci.yml to add php8.3 by @steinkel in #25
- Update README.md by @dereuromark in #26
- Improve return types for Table methods by @rochamarcelo in #27
- Feature/cakephp rules 001 by @rochamarcelo in #28
- Added rule AddAssociationExistsTableClassRule
- Added rule AddAssociationMatchOptionsTypesRule
- Added rule AddBehaviorExistsClassRule
- Added rule OrmSelectQueryFindMatchOptionsTypesRule
- Added rule TableGetMatchOptionsTypesRule
- Added extension to fix intersection phpDoc for associations
New Contributors
Full Changelog: 3.0.1...3.1.0
- Feature/fetch table with default table by @rochamarcelo in #19
-
3.0.128 Sep 2023Nothing published for this version
-
3.0.026 Sep 2023Nothing published for this version
-
2.1.023 Oct 2024 -
2.0.127 Dec 2021Nothing published for this version
-
2.0.002 Nov 2021Nothing published for this version
-
1.0.206 Oct 2021Nothing published for this version
-
1.0.125 May 2020Nothing published for this version
-
1.0.024 May 2020Nothing published for this version