-
Notifications
You must be signed in to change notification settings - Fork 12
Update deprecation notices #272
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
Open
bradenkeith
wants to merge
29
commits into
workos:main
Choose a base branch
from
bradenkeith:update-deprecation-notices
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
…able, and add accessToken, refreshToken, and impersonator properties
…s for improved type documentation
And allow to be passed when creating or updating a user or organization.
…ndard attributes (workos#261)
And fix typo in getOrganization docstring
… property (workos#267) Co-authored-by: Eric Roberts <[email protected]>
* Add WebhookResponse class for handling webhook actions and responses * Refactor WebhookResponse create method and improve validation * Resolve linting error --------- Co-authored-by: Braden Keith <[email protected]>
…information and improve clarity
…information and improve formatting
…error for better error reporting. Update phpunit.xml to display details on deprecations and warnings. Enhance test cases to assert deprecation warnings for deprecated methods.
…eOrganization' in Organizations class, and 'primaryEmail' in DirectoryUser class. Update tests to assert deprecation messages for these changes.
…rganizations class to provide clearer guidance for users. Add a test to assert the deprecation warning is triggered correctly.
…ent formatting and clarity. Adjust tests to reflect the updated messages for 'actors', 'primaryEmail', 'domains', and other parameters, enhancing overall error reporting.
* Improve Webhook and BaseWorkOSResource PHPDoc types * Enhance Webhook class with improved code style and PHPDoc annotations * Add accessToken and refreshToken to AuthenticationResponse class * Update AuthenticationResponse class to include organizationId as nullable, and add accessToken, refreshToken, and impersonator properties * Enhance OrganizationMembership class with additional PHPDoc properties for improved type documentation * Add metadata and external id (workos#268) And allow to be passed when creating or updating a user or organization. * Add email standard attribute to DirectoryUser and mark deprecated standard attributes (workos#261) * Add function to get organization by external id (workos#270) And fix typo in getOrganization docstring * Add support for creating, getting and updating users with external_id property (workos#267) Co-authored-by: Eric Roberts <[email protected]> * Bump to version 4.22.0. (workos#269) * Structured responses to webhook events (workos#265) * Add WebhookResponse class for handling webhook actions and responses * Refactor WebhookResponse create method and improve validation * Resolve linting error --------- Co-authored-by: Braden Keith <[email protected]> * Update deprecation notices in DirectoryUser class to include version information and improve clarity * Update deprecation notices in Organizations class to include version information and improve formatting * Update doc blocks for deprecation notices * Update tests to expect Role Slug --------- Co-authored-by: Braden Keith <[email protected]> Co-authored-by: Eric Roberts <[email protected]> Co-authored-by: Matt Dzwonczyk <[email protected]> Co-authored-by: Pepe <[email protected]>
And allow to be passed when creating or updating a user or organization.
…ndard attributes (workos#261)
… property (workos#267) Co-authored-by: Eric Roberts <[email protected]>
…recation notice update for 'sendPasswordResetEmail' method.
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.
Description
This PR will move deprecation notices from
error_log
totrigger_error
. It will cause all deprecation notices in the unit tests to be expected and tested against. The test suite output should now be cleaner and considered 'passing'.There's some issues with utilizing
error_log
in a package.Whereas,
trigger_error
will allow the developer to catch this notice.trigger_error()
emits an error that goes through PHP’s error handling system. This means that deprecation warnings can be captured by custom error handlers or displayed in development environments.Given that deprecation warnings are meant to notify developers without altering the core behavior of the package, this change should seen as non-breaking from an API perspective and can be added to a minor release.
Overview
Support
PHP >= 7.3 supports
trigger_error
.Implementation
Instead of calling
error_log()
, developers of this package should calltrigger_error($msg, E_USER_DEPRECATED)
.This is the only change required.
Developers of this package should continue to use the
@deprecated
docblock to help IDEs recognize the deprecation.Testing
There is a new
TestHelper
method calledassertDeprecationTriggered
that will accept two variables: The deprecation method you're expecting and the method call that is going to throw it. The test will fail if the$expected_warning
is not thrown.Example:
The rest of the test will be evaluated as expected.
Future Considerations
PHP 8.4 introduced a Deprecated attribute. That would update our syntax.
The package currently supports >=7.3.0, so I did not implement this. If we want to future proof our deprecation notices, we could look at conditionally including the attribute. This felt too messy without much upside, so I am not attempting it.