Releases: dereuromark/cakephp-shim
1.10.2
Improvements
Shim.Nullable
behavior can now also run on beforeSave()
callback instead of beforeMarshal()
.
This helps with validation that needs to have the empty string posted still available for isset()
checks and alike.
Also, that callback can be used specifically on "dirty" fields.
You can also refactor those to array_key_exists()
, if you want to keep the default event and expect nullish input.
2.0.0
CakePHP 4 release
The tool to help ease migration coming from CakePHP 3.x apps.
- Shim Up: With CakePHP 3.x core and some of the shims, you can prepare your app already for 4.x.
- Shim Down: Then, once upgraded, with 4.x core and some more shims you can further minimize required changes until the app works again.
Then you can slowly start refactoring again further while the app is already running again.
Contribute
Feel free to contribute more shims to either CakePHP 3.x or 4.x version branch.
2.0.0-beta
CakePHP 4 compatible pre-release.
Please help to finalize for stable release.
0.7.2
Improvements
CakePHP 2.x maintenance release.
- backward compatibility access to the request object properties
- FormHelper::input() and FormHelper::inputs() FC shims
- TranslateShimBehavior
- TreeShimBehavior updates
1.10.1
Improvements
FC Inflector shim
An Inflector backport has been added as an opt-in replacement for the core one.
Its Inflector::pluralize()
already uses new 4.x behavior:
pluralize()
:index
=>indexes
(instead ofindices
)
You can also configure the core one with custom inflections from your bootstrap, though.
1.10.0
Improvements
- Customizable deprecation output (use your own
E_USER_*
type if needed). - Enabling deprecations is now easier by Configure key
Shim.deprecations
set totrue
. You can also silence specific deprecations. - Added 4.x FC shim + deprecation for
newEntity()
vsnewEmptyEntity()
. - Added 4.x FC shims for BoolType, DecimalType, StringType ORM type handling classes.
- Removed deprecations for 3.7+.
1.9.0
Improvements
Add more 4.x shims:
Controller::referer()
now defaults to true for internal referer only (as per 4.x default).
1.8.3
Improvements
Allow CastTrait to handle empty strings.
This is mainly important when handling request data in controller, as they can be empty strings coming from either data or query.
1.8.2
Improvements
Add CastTrait
This is useful if you want to get your CakePHP 3 plugins to PHPStan level 7 on controller level, as the query input needs to be properly asserted/cast depending on if it is optional or required input (nullable or not).
1.8.1
Improvements
Add read()
method for entities to allow dot syntax convenience access.
$entity->read('tags.0.name')
will return the property if it exists or returns null otherwise.
This compliments the getOrFail()
part which does the opposite (guarantees the path to be present).