-
Notifications
You must be signed in to change notification settings - Fork 921
Feature/update di container #21905
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
Feature/update di container #21905
Conversation
composer.lockDev Package changes
Settings · Docs · Powered by Private Packagist |
Pull Request Test Coverage Report for Build ecfb1c899b77260070bc0eeff3475cb45190f99dDetails
💛 - Coveralls |
a6de0f5
to
a67113f
Compare
A merge conflict has been detected for the proposed code changes in this PR. Please resolve the conflict by either rebasing the PR or merging in changes from the base branch. |
…pdate-di-container # Conflicts: # composer.lock
The composer.lock diff comment has been updated to reflect new changes in this PR. |
A merge conflict has been detected for the proposed code changes in this PR. Please resolve the conflict by either rebasing the PR or merging in changes from the base branch. |
…pdate-di-container # Conflicts: # composer.json # composer.lock
The composer.lock diff comment has been updated to reflect new changes in this PR. |
Context
Important
Take not this PR needs to be merged together with https://github.com/Yoast/wordpress-seo-local/pull/2554
Also take a look at the source issue for linked in this PR for more next steps when we are merging this.
Summary
This PR can be summarized in the following changelog entry:
symfony/dependency-injection
package to version 5.4Relevant technical choices:
To make this work I needed to make a couple of changes. The first change was to also include some new files in our
php-scoper
which are located inconfig/php-scoper/service-contracts.inc.php
these files are needed for the DI container to compile so we need them to be copied over in our scoper.The second change made was to mark
src/introductions/infrastructure/introductions-seen-repository.php
as@makePublic
. This is needed because with this update the default behavior for new classes that live inFree
and are used in any addon + premium is to be marked aspublic(false)
. This means that they are not included in the DI containers public classes. Which in practical terms means thatYoastSEO()->classes->get('...')
no longer works. We want this since we do not want our entire codebase to be public API.This has no affect on existing classes which are located in folders that are included in the list in
/config/dependency-injection/loader-pass.php
in theprocess_definition
method.Test instructions
Test instructions for the acceptance test before the PR gets merged
This PR can be acceptance tested by following these steps:
composer require yoast/wordpress-seo:"dev-feature/update-di-container@dev as dev-release/24.8@dev" --dev
For premium you just need:
composer require yoast/wordpress-seo:"dev-feature/update-di-container@dev as dev-release/24.8@dev"
Relevant test scenarios
Test instructions for QA when the code is in the RC
QA can test this PR by following these steps:
Impact check
This PR affects the following parts of the plugin, which may require extra testing:
UI changes
Other environments
[shopify-seo]
, added test instructions for Shopify and attached theShopify
label to this PR.Documentation
Quality assurance
Innovation
innovation
label.Fixes #