Commit Graph

27 Commits

Author SHA1 Message Date
Sergey Biryukov 76b0575b97 Coding Standards: Use more consistent formatting in `wp-includes/class-json.php`.
As an adopted library that does not follow the WordPress Coding Standards, the file ended with a mix of tab and spaces as part of maintenance updates over the years.

This commit standardizes on spaces for now, to bring some consistency while minimizing the number of changes.

Includes moving all the declared properties to the top of the class.

Follow-up to [11875], [11877], [23376], [32990], [46377], [54037].

See #55647.
Built from https://develop.svn.wordpress.org/trunk@54038


git-svn-id: http://core.svn.wordpress.org/trunk@53597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-08-31 13:41:08 +00:00
Sergey Biryukov b251f368e0 Code Modernization: Explicitly declare all properties in `Services_JSON`.
Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.

There are a number of ways to mitigate this:
* If it is an accidental typo for a declared property: fix the typo.
* For known properties: declare them on the class.
* For unknown properties: add the magic `__get()`, `__set()`, et al. methods to the class or let the class extend `stdClass` which has highly optimized versions of these magic methods built in.
* For unknown ''use'' of dynamic properties, the `#[AllowDynamicProperties]` attribute can be added to the class. The attribute will automatically be inherited by child classes.

In this case, the `$use` property, as set in the class constructor, falls in the “known property” category.

Reference: [https://wiki.php.net/rfc/deprecate_dynamic_properties PHP RFC: Deprecate dynamic properties].

Follow-up to [11875], [53557], [53558], [53850], [53851], [53852], [53853], [53854], [53856], [53916], [53935], [53936], [53937], [53938], [53942], [53945], [53948], [53949], [53952], [53953], [53954], [53957].

Props jrf, antonvlasenko, costdev.
See #56033.
Built from https://develop.svn.wordpress.org/trunk@54037


git-svn-id: http://core.svn.wordpress.org/trunk@53596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-08-31 13:07:11 +00:00
Sergey Biryukov 9c6f41419c Coding Standards: Pass an empty string instead of `null` as the `$replacement` parameter to `_deprecated_file()`.
Follow-up to [48327].

See #50767.
Built from https://develop.svn.wordpress.org/trunk@49564


git-svn-id: http://core.svn.wordpress.org/trunk@49302 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-11-12 11:17:07 +00:00
Sergey Biryukov 1faa241fb6 Code Modernization: Use `instanceof` instead of a comparison with `get_class()`.
Includes adjusting external libraries which are no longer maintained externally.

Props jrf.
See #50767.
Built from https://develop.svn.wordpress.org/trunk@49194


git-svn-id: http://core.svn.wordpress.org/trunk@48956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-18 17:33:07 +00:00
Sergey Biryukov 897f004a9c General: Replace older-style PHP type conversion functions with type casts.
This improves performance, readability, and consistency throughout core.

* `intval()` → `(int)`
* `strval()` → `(string)`
* `floatval()` → `(float)`

Props ayeshrajans.
Fixes #42918.
Built from https://develop.svn.wordpress.org/trunk@49108


git-svn-id: http://core.svn.wordpress.org/trunk@48870 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-08 21:15:13 +00:00
Sergey Biryukov 85db3b5090 Docs: Correct `@see` references for PHP 4 constructors in `wp-includes/class-json.php`.
See #48252, #48303.
Built from https://develop.svn.wordpress.org/trunk@46630


git-svn-id: http://core.svn.wordpress.org/trunk@46430 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-02 20:13:02 +00:00
desrosj 6fa7f757d4 Docs: Add missing `@deprecated` tags.
Follow up to [46205-46206,46208].

Props jrf.
See #47699.
Built from https://develop.svn.wordpress.org/trunk@46377


git-svn-id: http://core.svn.wordpress.org/trunk@46176 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-03 14:48:55 +00:00
desrosj 83b0086fca Code Modernization: Deprecate the `Services_JSON` and `Services_JSON_Error` classes.
The PHP native JSON extension has been bundled and compiled with PHP by default since version 5.2.0. Because the minimum version of PHP required by WordPress is now 5.6.20 (see #46594 and [45058]), JSON extension related polyfills and backwards compatibility code can now be removed.

Since there are still some plugins and themes that utilize the `Services_JSON` class, these classes will remain for the time being, but including the `wp-includes/class-json.php` file and creating `Services_JSON` instances will now throw deprecated notices.

See #47699.
Props jrf, Clorith, pento.
Built from https://develop.svn.wordpress.org/trunk@46205


git-svn-id: http://core.svn.wordpress.org/trunk@46017 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-20 19:53:57 +00:00
Aaron Jorbin c377191858 PHP 7.4 compatibility fix / accessing arrays/string using curly brace syntax
PHP used to allow both square brackets and curly braces to be used interchangeably for accessing array elements and string offsets. The curly bracket syntax is only allowed in a limited set of cases and can be confusing for people not used to it.
PHP 7.4 will deprecate the curly brace syntax for accessing array elements and string offsets and it is expected that support will be completely removed in PHP 8.0.
Ref: https://wiki.php.net/rfc/deprecate_curly_braces_array_access

See #47751.
Props jrf.


Built from https://develop.svn.wordpress.org/trunk@45730


git-svn-id: http://core.svn.wordpress.org/trunk@45541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-03 20:21:55 +00:00
desrosj 3d61f81536 Docs: Fix typos in `Services_JSON` DocBlocks.
Props mukesh27.
Fixes #47401.
Built from https://develop.svn.wordpress.org/trunk@45535


git-svn-id: http://core.svn.wordpress.org/trunk@45346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-06-13 19:19:52 +00:00
Sergey Biryukov d2ccaacedf Docs: Correct spelling in various comments and DocBlocks, per the conventions in Core Contributor Handbook.
Props man4toman, samanehmirrajabi.
Fixes #45857.
Built from https://develop.svn.wordpress.org/trunk@45232


git-svn-id: http://core.svn.wordpress.org/trunk@45041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-17 13:26:51 +00:00
desrosj 03240dd3f4 Docs: Correct various spelling mistakes.
Props man4toman.
Fixes #46339.
Built from https://develop.svn.wordpress.org/trunk@44894


git-svn-id: http://core.svn.wordpress.org/trunk@44725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-13 19:32:53 +00:00
Sergey Biryukov dde7843f7e Docs: Fix typo in `Services_JSON` DocBlocks.
Props sagarnasit.
Fixes #44244.
Built from https://develop.svn.wordpress.org/trunk@43325


git-svn-id: http://core.svn.wordpress.org/trunk@43153 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-06-28 02:20:54 +00:00
Gary Pendergast 31f51e2cbb The the Docs: Fix the the dittography
Sometimes, it's easy to to type the the same word twice, especially if if it's a simple word. We probably shouldn't do do do (do do do doo) it, though.

(I've excluded external libs from this change.)

Fixes #34885.


Built from https://develop.svn.wordpress.org/trunk@35793


git-svn-id: http://core.svn.wordpress.org/trunk@35757 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 21:23:25 +00:00
Drew Jaynes 13c25f5f49 Docs: Put "it's" in its place (again).
Props kitchin.
Fixes #33894.

Built from https://develop.svn.wordpress.org/trunk@34234


git-svn-id: http://core.svn.wordpress.org/trunk@34198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 12:46:28 +00:00
Aaron Jorbin 1525010f74 Deprecate php4 style constructors
PHP7 is deprecating PHP4 style constructors, so we need to modify our code to have _construct methods that fire before the named PHP4 style constructors.  The PHP4 style constructors will call the PHP5 style constructor in case it is being called directly (usually via parent::METHOD).

This modifies external libraries to add PHP5 style constructors, but doesn't add a notice for when they are used.  In WordPress core code, PHP4 style constructors are being given a call to _deprecated_constructor. To the PHP4 style constructor I say "I know that I can't take no more | It ain't no lie | I wanna see you out that door | Baby, bye, bye, bye..."

Upstream: https://wiki.php.net/rfc/remove_php4_constructors

Props jdgrimes, netweb, jorbin
See #31982


Built from https://develop.svn.wordpress.org/trunk@32990


git-svn-id: http://core.svn.wordpress.org/trunk@32961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-28 15:27:24 +00:00
Andrew Nacin ccff07a819 Patch Services_JSON to use the proper function name and avoid a fatal error. see #24210.
git-svn-id: http://core.svn.wordpress.org/trunk@24587 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-08 16:55:34 +00:00
Andrew Nacin cbabdafbed Update to Services_JSON 1.0.3. props bpetty. fixes #21568.
git-svn-id: http://core.svn.wordpress.org/trunk@23376 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-02 02:09:01 +00:00
ryan e3b46b25d3 Lose EOF ?>. Clean up EOF newlines. fixes #12307
git-svn-id: http://svn.automattic.com/wordpress/trunk@19712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-08 17:01:11 +00:00
nacin c8e85fcb81 Restore compat for json_decode and json_encode. fixes #18015 for trunk.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-07-06 23:33:05 +00:00
ryan 91dc365567 Take out unnecessary compat functions from compat.php. Props hakre, ptahdunbar. see #16918
git-svn-id: http://svn.automattic.com/wordpress/trunk@17603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-05 17:13:04 +00:00
nacin 81a8f2d3ce Use square brackets instead of braces for string access. props hakre, fixes #13900.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-13 09:53:55 +00:00
azaozz bfb5ac0d25 Safely include class-json.php, class-simplepie.php and class-snoopy.php, props alexkingorg, fixes #11827
git-svn-id: http://svn.automattic.com/wordpress/trunk@12705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-12 13:22:43 +00:00
ryan 137705d20b Update json lib. Use encodeUnsafe in our json wrapper. Props nacin. fixes #11537 for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@12491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-12-22 16:49:35 +00:00
ryan 8e3808bce2 Remove trailing whitespace
git-svn-id: http://svn.automattic.com/wordpress/trunk@11930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-09-14 14:03:32 +00:00
azaozz 3897050e45 Clean up white space in class-json.php
git-svn-id: http://svn.automattic.com/wordpress/trunk@11877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-08-25 08:11:07 +00:00
azaozz a0467d5cda Add JSON compat for PHP < 5.2, props Viper007Bond, see #10337
git-svn-id: http://svn.automattic.com/wordpress/trunk@11875 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-08-25 07:48:59 +00:00