Hello internal,

I've been going through the documentation again to remove mentions of PHP 4
and found some extensions, functions, etc. on which I'd like to know the
state of them and if it would be wise to deprecate them.

I know I've thrown in some function aliases again, but only those which I
think wouldn't have widespread usage. If those should still be kept in your
opinion please let me know.

The list are more rough notes that I took while reading the doc so if
something seems unclear let me know.


   - ob_gzhandler, it says in a note that zlib.output_compression
   
<https://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression>
   is preferred. [1] Moreover, it is poorly documented
   - the enable_dl directive, it is said that "This deprecated feature
   *will* certainly be *removed* in the future."  [x] is this the case
   already? addressed in the Deprecation for 7.4 draft RFC [2]
   - ini_alter an alias of ini_set [3]
   - Deprecate the mode argument in zip_entry_open as it is ignored and
   always "*rb*" [4]
   - Deprecate the use_shortnames argument of  openssl_csr_get_public_key
   as it is ignored [5]
   - odbc_do — Alias of odbc_exec() ; odbc_field_precision — Alias of
   odbc_field_len()
   <https://www.php.net/manual/en/function.odbc-field-len.php>
   - rewinddir returns null on success and false on failure which is an odd
   behavior but I suppose it was kept like that due to BC concerns.
   - The FILE_USE_INCLUDE_PATH constant in the Filesystem extension being
   an integer makes it unusable with strict types for file_get_contents() [6]
   however it is also used for a flag argument where it can be combined with
   other constants with a binary OR [7] [8].
   Should this be just considered a Doc Bug?
   - The Enchant extension is bundled with PHP as of PHP 5.3 [9] however it
   seems its license is LGPL-2.1 [10] isn't this clashing with the PHP License?
   - PharData::setAlias, PharData::setDefaultStub and  PharData::setStub
   always throw PharException
   <https://www.php.net/manual/en/class.pharexception.php> [11] [12] [13]
   - user_error — Alias of trigger_error() in the Error Handling extension
   - show_source — Alias of highlight_file()
   <https://www.php.net/manual/en/function.highlight-file.php> in Misc
   Functions
   - GLOB_AVAILABLE_FLAGS is used internally to check for malformed glob
   flags [14] but it isn't really documented [15] [16]
   - Deprecate the NoRewindIterator class in the SPL extension as it seems
   pretty useless [17]
   - stream_register_wrapper — Alias of stream_wrapper_register()
   <https://www.php.net/manual/en/function.stream-wrapper-register.php> in
   Stream Extension
   - Deprecate the stream_set_timeout function in favour of stream_select
   as " This function doesn't work with advanced operations like
   stream_socket_recvfrom()
   <https://www.php.net/manual/en/function.stream-socket-recvfrom.php>, use
   stream_select()
   <https://www.php.net/manual/en/function.stream-select.php> with timeout
   parameter instead" [18]
   - Change print return's type from int to void as it always returns 1 [19]
   to mimic echo [20] or maybe mimic printf's behavior i.e. the length of the
   string printed [21]
   - Deprecate the ftp_site function in favour of ftp_raw as ftp_site()
   does not return the response from the server which isn't really practical
   as can be seen on these two notes [22][23]
   - ftp_quit — Alias of ftp_close()
   <https://www.php.net/manual/en/function.ftp-close.php>
   - Unbundle the NSAPI Extension (if this is already the case, there is
   doc error in the membership state of the extension) as it seems obsolete in
   this day and age as it handles Sun/Netscape servers [24]
   - socket_getopt — Alias of socket_get_option() and socket_setopt — Alias
   of socket_set_option()
   <https://www.php.net/manual/en/function.socket-set-option.php>
   - Unbundle the XML-RPC extension as it is considered experimental [25]


Best regards

George P. Banyard

[1] https://www.php.net/manual/en/function.ob-gzhandler.php
[x] https://www.php.net/manual/en/info.configuration.php
[2] https://wiki.php.net/rfc/deprecations_php_7_4
[3] https://www.php.net/manual/en/function.ini-alter.php
[4] https://www.php.net/manual/en/function.zip-entry-open.php
[5] https://www.php.net/manual/en/function.openssl-csr-get-public-key.php
[6] https://www.php.net/manual/en/function.file-get-contents.php
[7] https://www.php.net/manual/en/function.file-put-contents.php
[8] https://www.php.net/manual/en/function.file.php
[9] https://www.php.net/manual/en/enchant.installation.php
[10] https://github.com/AbiWord/enchant
[11] https://www.php.net/manual/en/phardata.setalias.php
[12] https://www.php.net/manual/en/phardata.setdefaultstub.php
[13] https://www.php.net/manual/en/phardata.setstub.php
[14] https://github.com/php/php-src/blob/master/ext/standard/dir.c#L192
[15] https://www.php.net/manual/en/filesystem.constants.php
[16] https://www.php.net/manual/en/function.glob.php
[17] https://www.php.net/manual/en/class.norewinditerator.php
[18]
https://www.php.net/manual/en/function.stream-set-timeout.php#refsect1-function.stream-set-timeout-notes
[19] https://www.php.net/manual/en/function.print.php
[20] https://www.php.net/manual/en/function.echo.php
[21] https://www.php.net/manual/en/function.printf.php
[22] https://www.php.net/manual/en/function.ftp-site.php#86838
[23] https://www.php.net/manual/en/function.ftp-site.php#26907
[24] https://www.php.net/manual/en/book.nsapi.php
[25] https://www.php.net/manual/en/intro.xmlrpc.php

Reply via email to