Skip to content
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

Merged
merged 3 commits into from
Jan 28, 2021
Merged

Get JSON Variable #4080

merged 3 commits into from
Jan 28, 2021

Conversation

dcaswel
Copy link
Contributor

@dcaswel dcaswel commented Jan 8, 2021

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:

  • Securely signed commits
  • Component(s) with PHPdocs
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@samsonasik
Copy link
Member

please rebase

…quest using getVar() or a new function getJsonVar().
@dcaswel
Copy link
Contributor Author

dcaswel commented Jan 13, 2021

@samsonasik Rebase done, thanks

Co-authored-by: John Paul E. Balandan, CPA <51850998+paulbalandan@users.noreply.github.com>
@@ -140,7 +140,7 @@ public function getProtocolVersion(): string
*
* @deprecated Use header calls directly
*/
public function isJSON()
public function isJSON(): bool
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

revert this

Suggested change
public function isJSON(): bool
public function isJSON()

Copy link
Contributor Author

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.

Copy link
Member

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

Copy link
Collaborator

@iRedds iRedds Feb 6, 2021

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 "(с)

Copy link
Member

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.

Copy link
Collaborator

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!

Copy link
Member

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.

@paulbalandan paulbalandan merged commit ee4874e into codeigniter4:develop Jan 28, 2021
@dcaswel dcaswel deleted the get-json-var branch February 5, 2021 01:33
@samsonasik samsonasik mentioned this pull request Feb 7, 2021
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants