-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Get JSON Variable #4080
Get JSON Variable #4080
Conversation
please rebase |
…quest using getVar() or a new function getJsonVar().
@samsonasik Rebase done, thanks |
Co-authored-by: John Paul E. Balandan, CPA <[email protected]>
system/HTTP/Message.php
Outdated
@@ -140,7 +140,7 @@ public function getProtocolVersion(): string | |||
* | |||
* @deprecated Use header calls directly | |||
*/ | |||
public function isJSON() | |||
public function isJSON(): bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
revert this
public function isJSON(): bool | |
public function isJSON() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@samsonasik Just so I know in the future, can you tell me why this needed to be reverted? There are plenty of places where return types are being used in the framework and this function is meant to only return a boolean.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change return type declaration is BC break https://3v4l.org/YHmT2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@samsonasik The method must explicitly return a boolean value.
This method and its changes were added to the development branch between the 4.0.4 and 4.1.0 (4.0.5) releases. So it cannot be BC.
Your example is not a BC, but a bad practice implementation.
What you did was a slap in the face. "I'm the boss. You're a fool "(с)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The method marked as @deprecated
so changing return type is not make sense.It may considered to be removed entirely instead.
The example is BC break, once we define public/protected method on non-final class, we need to maintain that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method has been marked as @deprecated
but has never been included in any release. It could just as easily have been removed. There is no reason to mark it as @depratacted
.
The framework core does not override this method, so BC cannot be.
I repeat. This method was not available until release 4.1.
But suddenly he began to break something.
Stop justifying insanity!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@iRedds could you provide a PR to remove this? Thank you.
Description
This pull request gives more options when building a JSON API for accessing data in the JSON of a request. This was done by making getVar() smart enough to know when it is a JSON request and grab the data accordingly. This also allows for using "dot" notation for getting data outside of the root level. For more control this PR also gives a new function called getJsonVar() which allows the developer to control the format of the returned data.
Checklist: