Skip to content

[WIP] Remove deprecated functionality in PHP 8 #3770

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

Closed
wants to merge 1 commit into from

Conversation

nikic
Copy link
Member

@nikic nikic commented Jan 28, 2019

Work in progress removal of deprecated functionality.

From https://wiki.php.net/rfc/deprecations_php_7_2:

From https://wiki.php.net/rfc/deprecations_php_7_3:

  • Undocumented mbstring function aliases (83bc092)
  • String search functions with integer needle (c97b9aa)
  • fgetss() function and string.strip_tags filter (c7d7af8)
  • Defining a free-standing assert() function (55dbb57)
  • FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED flags (6b89dbc)
  • pdo_odbc.db2_instance_name php.ini directive

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

From https://wiki.php.net/rfc/case_insensitive_constant_deprecation:

  • Declaration of case-insensitive constants (23a5be3)
  • Use of case-insensitive constants / handling of true/false/null (3d39479)

From https://wiki.php.net/rfc/deprecate_mb_ereg_replace_eval_option:

  • mb_ereg_replace /e modifier (52a9325)

From https://externals.io/message/85595:

  • password_hash salt parameter (94ae35c)

From https://externals.io/message/86849:

From https://wiki.php.net/rfc/deprecate-bareword-strings:

  • Constant bareword fallback (aad3987)

From https://wiki.php.net/rfc/reclassify_e_strict (and followup):

  • Static call to non-static method (6c73b50, e93bbf4)
  • mktime() and gmmktime() without arguments (5a2787a)

From ba28d75:

@KalleZ
Copy link
Member

KalleZ commented Jan 28, 2019

Thanks Nikita, I was gonna do this once I saw your branching emails. I guess it would make sense to also add the 7.3 deprecations to this PR:
https://wiki.php.net/rfc/deprecations_php_7_3

Perhaps we should also finalize and move forward our combined RFC for 7.4?

@nikic nikic force-pushed the remove-deprecated branch 2 times, most recently from e2a5294 to 35824c5 Compare January 28, 2019 16:41
@krakjoe krakjoe added the PHP 8 label Jan 29, 2019
@nikic nikic removed the PHP 8 label Jan 29, 2019
@nikic nikic added this to the PHP 8.0 milestone Jan 29, 2019
@nikic nikic closed this Jan 29, 2019
@nikic nikic force-pushed the remove-deprecated branch from 35824c5 to c7d7af8 Compare January 29, 2019 09:09
@nikic
Copy link
Member Author

nikic commented Jan 29, 2019

Oops, I messed something up here.

@nikic nikic reopened this Jan 29, 2019
@nikic nikic force-pushed the remove-deprecated branch 3 times, most recently from 98cb832 to ca6d9c5 Compare January 29, 2019 18:20
@nikic nikic force-pushed the remove-deprecated branch 2 times, most recently from 1b332bb to 0dfd918 Compare January 30, 2019 13:02
@petk petk added the RFC label Jan 30, 2019
@nikic
Copy link
Member Author

nikic commented Jan 30, 2019

This is close to done. Apart from some tricky constant related things, these two items are left:

  • ldap_sort
  • pdo_odbc.db2_instance_name

I don't want to change code that I can't build / test, so maybe @heiglandreas and @KalleZ would like to take care of those?

We still have various deprecations for things like mbstring / iconv internal_encoding handling around since PHP 5 times, but I believe the last time I tried to remove those I ran into implementation bugs, that made them non-equivalent to the new alternatives.

@KalleZ
Copy link
Member

KalleZ commented Jan 30, 2019

The pdo_odbc one I can take care off, but it won't be for another week or so, probably also the ldap_sort() as its available in the build SDK

@nikic nikic force-pushed the remove-deprecated branch from 971fbc1 to f743900 Compare February 5, 2019 08:52
I'm removing the argument entirely here, but we might want to change
this to passing null or and empty array instead, if the impact of
dropping it entirely is too large.

This was deprecated as part of https://wiki.php.net/rfc/deprecations_php_7_2
as a doc-only deprecation.
@nikic nikic force-pushed the remove-deprecated branch from f743900 to 8b8934f Compare February 5, 2019 11:46
@nikic
Copy link
Member Author

nikic commented Feb 5, 2019

This is done now from my side. Remaining is the odbc one, as well as the long-standing iconv/mbstring encoding deprecations.

@nikic nikic closed this Feb 5, 2019
@KalleZ
Copy link
Member

KalleZ commented Feb 28, 2019

@nikic I removed the pdo_odbc.db2_instance_name and I noticed the whole code block with pdo_odbc.connection_pooling. That whole code block looks pretty weird, it is missing a PHP_INI_ENTRY and was never along with pdo_odbc.db2_instance_name and just directly checks from cfg_get_string(), thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants