Repository navigation
Autowire blueprint services during controller rendering - #44
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #44 +/- ##
===========================================
Coverage 100.00% 100.00%
- Complexity 1082 1088 +6
===========================================
Files 120 120
Lines 2919 2935 +16
===========================================
+ Hits 2919 2935 +16 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Blueprints and discovered field types with constructor dependencies now use the application container during normal controller rendering. Applications keep their ordinary FormCompose helper registration; controller actions no longer need to pass a blueprint factory through template variables.
The plugin obtains the application factory during bootstrap and registers the view bridge through its
events()hook. Explicit application, view, and helper factories retain precedence, while standalone views keep the dependency-free fallback. Regression tests use CakePHP's standardView; the custom test AppView is removed. The service guide now shows constructor injection alongside the rendering call, with manual wiring confined to standalone-view and custom-factory details.Validation:
composer validate --strictandcomposer check: 803 tests, 3,152 assertions; analysis, lint, Rector, and formatting pass.composer test-coveragewith Xdebug: 100% line coverage (2,511/2,511); all 17 changed executable source lines covered.npm ci,npm run docs:build, andnpm run test:browser: 53 browser tests pass. Documentation API examples, imports, local links, and populated code tabs also checked.