cvs: phpdoc /en/appendices migration53.xml
| From: | Gwynne Raskind | Date: | Tue, 30 Jun 2009 20:24:54 +0000 |
| Subject: | cvs: phpdoc /en/appendices migration53.xml | ||
| Groups: | php.doc.cvs | ||
| Request: | Send a blank email to doc-cvs+get-4297@lists.php.net to get a copy of this message | ||
gwynne Tue Jun 30 20:24:54 2009 UTC
Modified files:
/phpdoc/en/appendices migration53.xml
Log:
- para=>simpara (consistency)
- a whole mess of grammar, spelling, and style fixes
- some extra information for some of the data
- removed duplicate information
http://cvs.php.net/viewvc.cgi/phpdoc/en/appendices/migration53.xml?r1=1.26&r2=1.27&diff_format=u Index: phpdoc/en/appendices/migration53.xml diff -u phpdoc/en/appendices/migration53.xml:1.26 phpdoc/en/appendices/migration53.xml:1.27 --- phpdoc/en/appendices/migration53.xml:1.26 Tue Jun 30 08:07:33 2009 +++ phpdoc/en/appendices/migration53.xml Tue Jun 30 20:24:53 2009 @@ -1,27 +1,27 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.26 $ --> +<!-- $Revision: 1.27 $ --> <appendix xml:id="migration53" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Migrating from PHP 5.2.x to PHP 5.3.x</title> - <para> + <simpara> &manual.migration.seealso; <link linkend="migration5">5.0.x</link>, <link linkend="migration51">5.1.x</link> and <link linkend="migration52">5.2.x</link>. - </para> + </simpara> <section xml:id="migration53.changes"> <title>What has changed in PHP 5.3.x</title> - <para> + <simpara> Most improvements in PHP 5.3.x have no impact on existing code. There are a <link linkend="migration53.incompatible">few incompatibilities</link> and <link linkend="migration53.new-features">new features</link> that should be considered, and code should be tested before switching PHP versions in production environments. - </para> - <para> - If the system is being upgraded from an older version of PHP, then the - relevant documentation is available below: - </para> + </simpara> + <simpara> + For systems being upgraded from an older version of PHP, the relevant + documentation is available at: + </simpara> <itemizedlist> <listitem> <simpara> @@ -43,73 +43,73 @@ <section xml:id="migration53.incompatible"> <title>Backward Incompatible Changes</title> - <para> - Although most existing PHP 5 code should work without changes, you should - pay attention to the following backward incompatible changes: - </para> + <simpara> + Although most existing PHP 5 code should work without changes, please take + note of some backward incompatible changes: + </simpara> <itemizedlist> <listitem> <simpara> - The internal parameter parsing API have been applied across all - the extensions that PHP 5.3.x comes with. This parameter parsing API - will make the function return &null; if incompatible parameters are - passed to the function. There are some exceptions to this, like the - <function>get_class</function> will still return &false; in case of an - error. + The newer internal parameter parsing API has been applied across all the + extensions bundled with PHP 5.3.x. This parameter parsing API causes + functions to return &null; when passed incompatible parameters. There are + some exceptions to this rule, such as the <function>get_class</function> + function, which will continue to return &false; on error. </simpara> </listitem> <listitem> <simpara> - <function>clearstatcache</function> no longer clears the realpath - cache by default. + <function>clearstatcache</function> no longer clears the realpath cache by + default. </simpara> </listitem> <listitem> <simpara> - <function>realpath</function> is no longer system dependent and works the - same on all platforms. + <function>realpath</function> is now fully platform-independent. </simpara> </listitem> <listitem> <simpara> - <function>call_user_func</function> and family now propagates <literal>$this</literal> - even if the callee is the parent class. + The <function>call_user_func</function> family of functions now propagate + <literal>$this</literal> even if the callee is a parent class. </simpara> </listitem> <listitem> <simpara> - The array functions: <function>natsort</function>, <function>natcasesort</function>, - <function>usort</function>, <function>uasort</function>, <function>uksort</function>, - <function>array_flip</function> and <function>array_unique</function>, no longer accept - objects passed as arguments. If you need to access their properties using an object, - you will need to cast the objects to arrays first. + The array functions <function>natsort</function>, + <function>natcasesort</function>, <function>usort</function>, + <function>uasort</function>, <function>uksort</function>, + <function>array_flip</function>, and <function>array_unique</function> no + longer accept objects passed as arguments. To apply these functions to an + object, cast the object to an array first. </simpara> </listitem> <listitem> <simpara> The behaviour of functions with by-reference parameters called by value has - changed. Where previously the function would accept the by-value argument, a - warning is now emitted and all by-ref parameters are set to &null;. + changed. Where previously the function would accept the by-value argument, + a warning is now emitted and all by-ref parameters are set to &null;. </simpara> </listitem> <listitem> <simpara> - The new mysqlnd library necessitates using MySQL's newer 41 bytes password format. - Continued use of the old 16 bytes passwords will cause <function>mysql_connect</function> - to produce the following error message: <literal>"mysqlnd cannot connect to MySQL 4.1+ - using old authentication"</literal>. + The new mysqlnd library necessitates the use of MySQL 4.1's newer 41-byte + password format. Continued use of the old 16-byte passwords will cause + <function>mysql_connect</function> and similar functions to emit the error, + <literal>"mysqlnd cannot connect to MySQL 4.1+ using old + authentication."</literal> </simpara> </listitem> <listitem> <simpara> - The trailing / has been removed from <classname>SplFileInfo</classname> and other related - directory classes. + The trailing / has been removed from the <classname>SplFileInfo</classname> + class and other related directory classes. </simpara> </listitem> <listitem> <simpara> - The <link linkend="language.oop5.magic.tostring">__toString</link> magic method can - no longer accept arguments. + The <link linkend="language.oop5.magic.tostring">__toString</link> magic + method can no longer accept arguments. </simpara> </listitem> <listitem> @@ -118,22 +118,22 @@ <link linkend="language.oop5.overloading.members">__get</link>, <link linkend="language.oop5.overloading.members">__set</link>, <link linkend="language.oop5.overloading.members">__isset</link>, - <link linkend="language.oop5.overloading.members">__unset</link>, - <link linkend="language.oop5.overloading.methods">__call</link>, - should always be public and can no longer be static. Method signatures are enforced. + <link linkend="language.oop5.overloading.members">__unset</link>, and + <link linkend="language.oop5.overloading.methods">__call</link> must always + be public and can no longer be static. Method signatures are now enforced. </simpara> </listitem> <listitem> <simpara> The <link linkend="language.oop5.overloading.methods">__call</link> - magic method now gets invoked on private/protected method access. + magic method is now invoked on access to private and protected methods. </simpara> </listitem> </itemizedlist> - <para> - The following keywords are now reserved and may not be used - in function, class etc. names. - </para> + <simpara> + The following keywords are now reserved and may not be used in function, + class, etc. names. + </simpara> <itemizedlist> <listitem> <simpara> @@ -150,10 +150,9 @@ <section xml:id="migration53.new-features"> <title>New features</title> - <para> - PHP 5.3.0 contains a wide set of new features, below lists new features - available to the language and syntax. - </para> + <simpara> + PHP 5.3.0 offers a wide range of new features: + </simpara> <itemizedlist> <listitem> <simpara> @@ -163,14 +162,14 @@ </listitem> <listitem> <simpara> - Support for <link linkend="language.oop5.late-static-bindings">Late Static Bindings</link> - has been added. + Support for <link linkend="language.oop5.late-static-bindings">Late Static + Bindings</link> has been added. </simpara> </listitem> <listitem> <simpara> - Support for a <link linkend="control-structures.goto">jump label</link> (limited goto) - has been added. + Support for <link linkend="control-structures.goto">jump labels</link> + (limited goto) has been added. </simpara> </listitem> <listitem> @@ -181,40 +180,43 @@ </listitem> <listitem> <simpara> - There are two new magic methods: + There are two new magic methods, <link linkend="language.oop5.overloading.methods">__callStatic</link> and - <link linkend="language.oop5.magic.invoke">__invoke</link> has been added. + <link linkend="language.oop5.magic.invoke">__invoke</link>. </simpara> </listitem> <listitem> <simpara> - <link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> syntax is now - supported, and works like <link linkend="language.types.string.syntax.heredoc">Heredoc</link> + <link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> syntax is + now supported, similar to + <link linkend="language.types.string.syntax.heredoc">Heredoc</link> syntax, but with single quotes. </simpara> </listitem> <listitem> <simpara> - It's now possible to use <link linkend="language.types.string.syntax.heredoc">Heredoc</link> - to initialize static variables and class members/constants. + It is now possible to use + <link linkend="language.types.string.syntax.heredoc">Heredoc</link>s to + initialize static variables and class members/constants. </simpara> </listitem> <listitem> <simpara> - <link linkend="language.types.string.syntax.heredoc">Heredoc</link> syntax may now be declared - using double quotes. + <link linkend="language.types.string.syntax.heredoc">Heredoc</link>s may + now be declared using double quotes, complementing the + <link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> syntax. </simpara> </listitem> <listitem> <simpara> - <link linkend="language.constants.syntax">Constants</link> can now be declared outside a class - declaring using the <literal>const</literal> keyword. + <link linkend="language.constants.syntax">Constants</link> can now be + declared outside a class using the <literal>const</literal> keyword. </simpara> </listitem> <listitem> <simpara> - The <link linkend="language.operators.comparison.ternary">ternary</link> operator - now have a shorthand operator <literal>?:</literal>. + The <link linkend="language.operators.comparison.ternary">ternary</link> + operator now has a shorthand form: <literal>?:</literal>. </simpara> </listitem> <listitem> @@ -235,7 +237,7 @@ </listitem> <listitem> <simpara> - Gargbage collector has been added and enabled by default. + A garbage collector has been added, and is enabled by default. </simpara> </listitem> </itemizedlist> @@ -243,19 +245,20 @@ <section xml:id="migration53.windows"> <title>Changes made to Windows support</title> - <para> + <simpara> Changes to the Windows releases: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - The minimum Windows version is now Windows 2000; Windows 98, ME and NT4 are - no longer supported. + The minimum Windows version is now Windows 2000; Windows 98, ME, and NT4 + are no longer supported. </simpara> </listitem> <listitem> <simpara> - Windows binaries now target i586 and later. i386 and i486 are not supported. + Windows binaries now target i586 and later. i386 and i486 are not + supported. </simpara> </listitem> <listitem> @@ -265,32 +268,34 @@ </listitem> <listitem> <simpara> - There is now compiler support for Visual C++ 9 (VC9), using Visual Studio 2008. Snapshots - and releases will now also be available for VC9. Old binaries using VC6 are still supported - and released in the line with VC9. + There is now compiler support for Visual C++ 9 (VC9), using Visual Studio + 2008. Snapshots and releases will now also be available for VC9. Old + binaries using VC6 are still supported and released in the line with VC9. </simpara> </listitem> <listitem> <simpara> - The <link linkend="ref.pdo-oci">PDO_OCI</link> <literal>php_pdo_oci8.dll</literal> library - (for use with Oracle version 8 client libraries) is no longer being built. Instead, - use <literal>php_pdo_oci.dll</literal> (note no '8') with Oracle 10 or 11 client - libraries. Connection to other database versions is supported. + The <link linkend="ref.pdo-oci">PDO_OCI</link> + <literal>php_pdo_oci8.dll</literal> library (for use with Oracle version 8 + client libraries) is no longer being built. Instead, use + <literal>php_pdo_oci.dll</literal> (note no '8') with Oracle 10 or 11 + client libraries. Connection to other database versions is still supported. </simpara> </listitem> <listitem> <simpara> For the <link linkend="book.oci8">OCI8</link> extension, a new library - <literal>php_oci8_11g.dll</literal> is available in addition to <literal>php_oci8.dll</literal>. - Only one can be enabled at any time. Use <literal>php_oci8.dll</literal> with Oracle 10.2 - client libraries. Use <literal>php_oci8_11g.dll</literal> with Oracle 11 client libraries. Connection - to other database versions is supported. + <literal>php_oci8_11g.dll</literal> is available in addition to + <literal>php_oci8.dll</literal>. Only one can be enabled at any time. Use + <literal>php_oci8.dll</literal> with Oracle 10.2 client libraries. Use + <literal>php_oci8_11g.dll</literal> with Oracle 11 client libraries. + Connection to other database versions is still supported. </simpara> </listitem> </itemizedlist> - <para> + <simpara> Windows support has been added for the following functions: - </para> + </simpara> <itemizedlist> <listitem> <simpara> @@ -355,8 +360,8 @@ <listitem> <simpara> <function>socket_create_pair</function> - - This function was previously available on Windows, but - was due to a bug disabled as of PHP 4.3.0. + - This function was previously available on Windows, but was disabled as of + PHP 4.3.0 due to a bug. </simpara> </listitem> <listitem> @@ -380,43 +385,46 @@ </simpara> </listitem> </itemizedlist> - <para> + <simpara> Other changes: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - Improved portability of <function>stat</function>, <function>touch</function>, - <function>filemtime</function>, <function>filesize</function> and related - functions (100% portable for the available data). + Improved portability of the <function>stat</function>, + <function>touch</function>, <function>filemtime</function>, + <function>filesize</function> functions, and other related functions (100% + portable for the available data). </simpara> </listitem> <listitem> <simpara> - It's now possible to use hardlinks on Windows using the <function>link</function> - function, and symbolic links via the <function>symlink</function> function. Hardlinks - are available as of Windows 2000 and symbolic links as of Windows Vista. + It is now possible to create hard links on Windows using the + <function>link</function> function, and symbolic links using the + <function>symlink</function> function. Hard links are available as of + Windows 2000, and symbolic links as of Windows Vista. </simpara> </listitem> <listitem> <simpara> - The Windows version of PHP will expose a set of constants prefixed - <literal>PHP_WINDOWS_*</literal>, a list of them and their usage can be found - <link linkend="info.constants">here</link>. + The Windows version of PHP now exposes a set of constants prefixed + <literal>PHP_WINDOWS_*</literal>. A list of these constants and their usage + can be found at <xref linkend="info.constants" />. </simpara> </listitem> </itemizedlist> <warning> <simpara> - Support for the ISAPI module have been dropped, use the improved - and much better FastCGI sapi module instead. + Support for the ISAPI module has been dropped. Use the improved FastCGI SAPI + module instead. </simpara> </warning> <note> <simpara> - A new dedicated site for PHP on Windows, including downloads, release candidates - and snapshots in various flavors (Thread-safe/not-thread-safe, VC6/VC9, x86/x64). - The URL for this site is <link xlink:href="&url.php.windows;">&url.php.windows;</link>. + A new dedicated site for PHP on Windows is now available, including + downloads, release candidates, and snapshots in various flavors + (thread-safe/not-thread-safe, VC6/VC9, x86/x64). The URL of this site is + <link xlink:href="&url.php.windows;">&url.php.windows;</link>. </simpara> </note> </section> @@ -426,30 +434,31 @@ <itemizedlist> <listitem> <simpara> - A new SAPI is now available called litespeed. + A new SAPI module named litespeed is now available. </simpara> </listitem> <listitem> <simpara> - FastCGI is now always enabled and can not be disabled. See <literal>sapi/cgi/CHANGES</literal> - for more details. + FastCGI is now always enabled and can not be disabled. See + <literal>sapi/cgi/CHANGES</literal> for more details. </simpara> </listitem> <listitem> <simpara> - A new CGI SAPI option, <literal>-T</literal>, can be used to measure execution time of a script - repeated several times. + A new CGI SAPI option, <literal>-T</literal>, can be used to measure + repeated execution time of a script. </simpara> </listitem> <listitem> <simpara> - CGI/FastCGI now has support for .htaccess style user-defined &php.ini; files. + CGI/FastCGI now has support for .htaccess-style user-defined &php.ini; + files. </simpara> </listitem> <listitem> <simpara> - The <function>dl</function> function is now disabled by default, - and only available under the cli, cgi and the embed SAPIs. + The <function>dl</function> function is now disabled by default, and is now + available only under the CLI, CGI, and embed SAPIs. </simpara> </listitem> </itemizedlist> @@ -457,18 +466,21 @@ <section xml:id="migration53.deprecated"> <title>Deprecated features in PHP 5.3.x</title> - <para> - PHP 5.3.0 introduces two new error levels; <constant>E_DEPRECATED</constant> - and <constant>E_USER_DEPRECATED</constant>. The <constant>E_DEPRECATED</constant> - error level is used to indicated that a feature have been deprecated, the - <constant>E_USER_DEPRECATED</constant> level should be used to indicate deprecated - features in userland defined code, just like the <constant>E_USER_WARNING</constant> - level for example. - </para> - <para> - The following is a list of deprecated INI directives, if one or more of these - are activated, they will issue an deprecation notice upon startup. - </para> + <simpara> + PHP 5.3.0 introduces two new error levels: <constant>E_DEPRECATED</constant> + and <constant>E_USER_DEPRECATED</constant>. The + <constant>E_DEPRECATED</constant> error level is used to indicate that a + function or feature has been deprecated. The + <constant>E_USER_DEPRECATED</constant> level is intended for indicating + deprecated features in user code, similarly to the + <constant>E_USER_ERROR</constant> and <constant>E_USER_WARNING</constant> + levels. + </simpara> + <simpara> + The following is a list of deprecated INI directives. Use of any of these INI + directives will cause an <constant>E_DEPRECATED</constant> error to be thrown + at startup. + </simpara> <itemizedlist> <listitem> <simpara> @@ -507,22 +519,24 @@ </listitem> <listitem> <simpara> - And comments starting with '#' are deprecated in .INI files. + Comments starting with '#' are now deprecated in .INI files. </simpara> </listitem> </itemizedlist> - <para> + <simpara> Deprecated functions: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - <function>call_user_method</function> + <function>call_user_method</function> (use + <function>call_user_func</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>call_user_method_array</function> + <function>call_user_method_array</function> (use + <function>call_user_func_array</function> instead) </simpara> </listitem> <listitem> @@ -537,58 +551,66 @@ </listitem> <listitem> <simpara> - <function>ereg</function> + <function>ereg</function> (use <function>preg_match</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>ereg_replace</function> + <function>ereg_replace</function> (use <function>preg_replace</function> + instead) </simpara> </listitem> <listitem> <simpara> - <function>eregi</function> + <function>eregi</function> (use <function>preg_match</function> with the + <literal>'i'</literal> modifier instead) </simpara> </listitem> <listitem> <simpara> - <function>eregi_replace</function> + <function>eregi_replace</function> (use <function>preg_replace</function> + with the <literal>'i'</literal> modifier instead) </simpara> </listitem> <listitem> <simpara> - <function>set_magic_quotes_runtime</function> and its alias + <function>set_magic_quotes_runtime</function> and its alias, <function>magic_quotes_runtime</function> </simpara> </listitem> <listitem> <simpara> - <function>session_register</function> + <function>session_register</function> (use the <varname>$_SESSION</varname> + superglobal instead) </simpara> </listitem> <listitem> <simpara> - <function>session_unregister</function> + <function>session_unregister</function> (use the + <varname>$_SESSION</varname> superglobal instead) </simpara> </listitem> <listitem> <simpara> - <function>session_is_registered</function> + <function>session_is_registered</function> (use the + <varname>$_SESSION</varname> superglobal instead) </simpara> </listitem> <listitem> <simpara> - <function>set_socket_blocking</function> + <function>set_socket_blocking</function> (use + <function>stream_set_blocking</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>split</function> + <function>split</function> (use <function>preg_split</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>spliti</function> + <function>spliti</function> (use <function>preg_split</function> with the + <literal>'i'</literal> modifier instead) </simpara> </listitem> <listitem> @@ -598,42 +620,50 @@ </listitem> <listitem> <simpara> - <function>mysql_db_query</function> + <function>mysql_db_query</function> (use + <function>mysql_select_db</function> and <function>mysql_query</function> + instead) </simpara> </listitem> <listitem> <simpara> - <function>mysql_escape_string</function> + <function>mysql_escape_string</function> (use + <function>mysql_real_escape_string</function> instead) </simpara> </listitem> <listitem> <simpara> - Passing locale category name as string is deprecated. + Passing locale category names as strings is now deprecated. Use the LC_* + family of constants instead. </simpara> </listitem> <listitem> <simpara> - The <parameter>is_dst</parameter> to <function>mktime</function> + The <parameter>is_dst</parameter> parameter to <function>mktime</function>. + Use the new timezone handling functions instead. </simpara> </listitem> </itemizedlist> - <para> + <simpara> Deprecated features: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - Assigning the return value of "new" by reference is deprecated + Assigning the return value of + <link linkend="language.oop5.basic.new">new</link> by reference is now + deprecated. </simpara> </listitem> <listitem> <simpara> - Call-time pass-by-reference has been deprecated + Call-time pass-by-reference is now deprecated. </simpara> </listitem> <listitem> <simpara> - Usage of {} to access string offsets is deprecated + The use of <literal>{}</literal> to access string offsets is deprecated. + Use <literal>[]</literal> instead. </simpara> </listitem> </itemizedlist> @@ -641,31 +671,30 @@ <section xml:id="migration53.undeprecated"> <title>Undeprecated features in PHP 5.3.x</title> - <para> - The <function>is_a</function> have been undeprecated by - popular request, meaning it will no longer issue an - <constant>E_STRICT</constant> error. - </para> + <simpara> + The <function>is_a</function> function has been undeprecated by popular + request; it will no longer issue an <constant>E_STRICT</constant> error. + </simpara> </section> <section xml:id="migration53.parameters"> <title>New Parameters</title> - <para> - Some functions were given new, optional, parameters in PHP 5.3.x: - </para> - <para>PHP Core:</para> + <simpara> + Several functions were given new, optional parameters in PHP 5.3: + </simpara> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> <function>clearstatcache</function> - - Added <parameter>clear_realpath_cache</parameter> - and <parameter>filename</parameter>. + - Added <parameter>clear_realpath_cache</parameter> and + <parameter>filename</parameter>. </simpara> </listitem> <listitem> <simpara> <function>copy</function> - - Added <parameter>context</parameter>. + - Added a stream context parameter, <parameter>context</parameter>. </simpara> </listitem> <listitem> @@ -682,7 +711,8 @@ </listitem> <listitem> <simpara> - <function>mail</function> now supports logging of mail sent. + The <function>mail</function> function now supports logging of sent email. + (Note: This only applies to email sent through this function.) </simpara> </listitem> <listitem> @@ -717,7 +747,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.json">json</link>:</para> + <simpara><link linkend="book.json">json</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -733,20 +763,20 @@ </listitem> </itemizedlist> - <para><link linkend="book.stream">Stream</link>:</para> + <simpara><link linkend="book.stream">Streams</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>stream_select</function>, <function>stream_set_blocking</function>, - <function>stream_set_timeout</function> and + <function>stream_set_timeout</function>, and <function>stream_set_write_buffer</function> now work with user-space stream wrappers. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.sybase">sybase_ct</link>:</para> + <simpara><link linkend="book.sybase">sybase_ct</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -756,10 +786,10 @@ </listitem> </itemizedlist> - <para> - New parameters to methods in PHP 5.3.0. - </para> - <para>PHP Core:</para> + <simpara> + New method parameters in PHP 5.3.0: + </simpara> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> @@ -772,24 +802,22 @@ <section xml:id="migration53.functions"> <title>New Functions</title> - <para> - PHP 5.3.x introduced some new functions: - </para> + <simpara> + PHP 5.3 introduced some new functions: + </simpara> - <para>PHP Core:</para> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> <function>array_replace</function> - - Replaces elements from passed arrays into one - array. + - Replaces elements from passed arrays into one array. </simpara> </listitem> <listitem> <simpara> <function>array_replace_recursive</function> - - Recursively replaces elements from passed arrays - into one array. + - Recursively replaces elements from passed arrays into one array. </simpara> </listitem> <listitem> @@ -801,14 +829,14 @@ <listitem> <simpara> <function>forward_static_call</function> - - Call a user function which is the first parameter. + - Call a user function from a method context. </simpara> </listitem> <listitem> <simpara> <function>forward_static_call_array</function> - - Call a user function which is the first parameter - with the arguments contained in an array. + - Call a user function from a method context, with the arguments contained + in an array. </simpara> </listitem> <listitem> @@ -826,27 +854,25 @@ <listitem> <simpara> <function>gc_enable</function> - - Activated the circular reference collector. + - Activates the circular reference collector. </simpara> </listitem> <listitem> <simpara> <function>gc_enabled</function> - - Returns the status of the circular reference - collector. + - Returns the status of the circular reference collector. </simpara> </listitem> <listitem> <simpara> <function>get_called_class</function> - - Gets the name of the class the static method is - called in. + - Return the name of the class a static method is called in. </simpara> </listitem> <listitem> <simpara> <function>gethostname</function> - - Gets the current host name for the local machine. + - Return the current host name for the local machine. </simpara> </listitem> <listitem> @@ -871,8 +897,7 @@ <listitem> <simpara> <function>quoted_printable_encode</function> - - Convert an 8 bit string to a quoted-printable - string. + - Convert an 8 bit string to a quoted-printable string. </simpara> </listitem> <listitem> @@ -890,19 +915,19 @@ <listitem> <simpara> <function>stream_supports_lock</function> - - Tells whether the stream supports locking. + - Return &true; if the stream supports locking. </simpara> </listitem> <listitem> <simpara> <function>stream_context_get_params</function> - - Retrieve parameters from context. + - Retrieve parameters from a stream context. </simpara> </listitem> <listitem> <simpara> <function>streamWrapper::stream_cast</function> - - Retrieve the underlaying resource. + - Retrieve the underlying stream resource. </simpara> </listitem> <listitem> @@ -913,67 +938,67 @@ </listitem> </itemizedlist> - <para><link linkend="book.datetime">Date/Time</link>:</para> + <simpara><link linkend="book.datetime">Date/Time</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>date_add</function> - - Adds an amount of days, months, years, hours, minutes and - seconds to a <classname>DateTime</classname> object. + - Adds an amount of days, months, years, hours, minutes and seconds to a + <classname>DateTime</classname> object. </simpara> </listitem> <listitem> <simpara> <function>date_create_from_format</function> - - Returns new <classname>DateTime</classname> object formatted according to the - specified format. + - Returns a new <classname>DateTime</classname> object formatted according + to the given format. </simpara> </listitem> <listitem> <simpara> <function>date_diff</function> - - Returns the difference between two <classname>DateTime</classname> objects. + - Returns the difference between two <classname>DateTime</classname> + objects. </simpara> </listitem> <listitem> <simpara> <function>date_get_last_errors</function> - - Returns the warnings and errors from the last - date/time operation. + - Returns the warnings and errors from the last date/time operation. </simpara> </listitem> <listitem> <simpara> <function>date_parse_from_format</function> - - Get info about given date. + - Get infoformation about a given date. </simpara> </listitem> <listitem> <simpara> <function>date_sub</function> - - Subtracts an amount of days, months, years, hours, minutes - and seconds from a <classname>DateTime</classname> object. + - Subtracts an amount of days, months, years, hours, minutes and seconds + from a <classname>DateTime</classname> object. </simpara> </listitem> <listitem> <simpara> <function>timezone_version_get</function> - - Gets the version of the timezonedb. + - Returns the version of the timezonedb. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.gmp">GMP</link>:</para> + <simpara><link linkend="book.gmp">GMP</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>gmp_testbit</function> - - Tests if a bit is set. + - Tests whether a bit is set. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.hash">Hash</link>:</para> + <simpara><link linkend="book.hash">Hash</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -983,7 +1008,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.imap">IMAP</link>:</para> + <simpara><link linkend="book.imap">IMAP</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1005,7 +1030,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.json">JSON</link>:</para> + <simpara><link linkend="book.json">JSON</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1015,7 +1040,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.mysqli">MySQL Improved</link>:</para> + <simpara><link linkend="book.mysqli">MySQL Improved</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1044,18 +1069,18 @@ </listitem> </itemizedlist> - <para><link linkend="book.openssl">OpenSSL</link>:</para> + <simpara><link linkend="book.openssl">OpenSSL</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>openssl_random_pseudo_bytes</function> - - Returns a string of the length specified filled with - random pseudo bytes. + - Returns a string of the given length specified, filled with pseudo-random + bytes. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.pcntl">PCNTL</link>:</para> + <simpara><link linkend="book.pcntl">PCNTL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1072,28 +1097,29 @@ <listitem> <simpara> <function>pcntl_sigtimedwait</function> - - Waits for signals, with a timeout. + - Wait for signals with a timeout. </simpara> </listitem> <listitem> <simpara> <function>pcntl_sigwaitinfo</function> - - Waits for signals. + - Wait for signals. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.pcre">PCRE</link>:</para> + <simpara><link linkend="book.pcre">PCRE</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>preg_filter</function> - - Perform a regular expression search and replace. + - Perform a regular expression search and replace, reutrning only results + which matched the pattern. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.sem">Semaphore</link>:</para> + <simpara><link linkend="book.sem">Semaphore</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1104,15 +1130,15 @@ <listitem> <simpara> <function>shm_has_var</function> - - Checks whether a specific exists. + - Checks whether a specific key exists inside a shared memory segment. </simpara> </listitem> </itemizedlist> - <para> - The following functions are now natively implemented, meaning they - are always available no matter the operating system: - </para> + <simpara> + The following functions are now natively implemented, making them available + on all operating systems which can run PHP: + </simpara> <itemizedlist> <listitem> <simpara> @@ -1144,9 +1170,9 @@ <section xml:id="migration53.new-stream-wrappers"> <title>New stream wrappers</title> - <para> + <simpara> The following stream wrappers were introduced in 5.3.0: - </para> + </simpara> <itemizedlist> <listitem> <simpara> @@ -1163,18 +1189,18 @@ <section xml:id="migration53.new-stream-filters"> <title>New stream filters</title> - <para> + <simpara> The following stream filters were introduced in 5.3.0: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - dechunk + dechunk (reverses HTTP chunked encoding) </simpara> </listitem> <listitem> <simpara> - The bz2.decompress filter now supports concatenation + The bz2.decompress filter now supports concatenation. </simpara> </listitem> </itemizedlist> @@ -1182,11 +1208,11 @@ <section xml:id="migration53.class-constants"> <title>New Class Constants</title> - <para> - New class constants that were introduced in 5.3.0: - </para> + <simpara> + Several new class constants were introduced in 5.3.0: + </simpara> - <para><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</para> + <simpara><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1211,49 +1237,49 @@ <section xml:id="migration53.methods"> <title>New Methods</title> - <para> - New methods that were introduced in 5.3.0: - </para> + <simpara> + Several new methods were introduced in 5.3.0: + </simpara> - <para><link linkend="book.datetime">Date/Time</link>:</para> + <simpara><link linkend="book.datetime">Date/Time</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>DateTime::add</function> - - Adds an amount of days, months, years, hours, minutes and - seconds to a <classname>DateTime</classname> object. + - Adds an amount of days, months, years, hours, minutes and seconds to a + <classname>DateTime</classname> object. </simpara> </listitem> <listitem> <simpara> <function>DateTime::createFromFormat</function> - - Returns new <classname>DateTime</classname> object formatted according to the - specified format. + - Returns a new <classname>DateTime</classname> object formatted according + to the given format. </simpara> </listitem> <listitem> <simpara> <function>DateTime::diff</function> - - Returns the difference between two <classname>DateTime</classname> objects. + - Returns the difference between two <classname>DateTime</classname> + objects. </simpara> </listitem> <listitem> <simpara> <function>DateTime::getLastErrors</function> - - Returns the warnings and errors from the last - date/time operation. + - Returns the warnings and errors from the last date/time operation. </simpara> </listitem> <listitem> <simpara> <function>DateTime::sub</function> - - Subtracts an amount of days, months, years, hours, minutes - and seconds from a <classname>DateTime</classname> object. + - Subtracts an amount of days, months, years, hours, minutes and seconds + from a <classname>DateTime</classname> object. </simpara> </listitem> </itemizedlist> - <para><classname>Exception</classname>:</para> + <simpara><classname>Exception</classname>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1263,17 +1289,17 @@ </listitem> </itemizedlist> - <para><link linkend="book.dom">DOM</link>:</para> + <simpara><link linkend="book.dom">DOM</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>DOMNode::getLineNo</function> - - Get line number of parsed node. + - Get the line number of a parsed node. </simpara> </listitem> </itemizedlist> - <para><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</para> + <simpara><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1283,7 +1309,7 @@ </listitem> </itemizedlist> - <para><link linkend="language.oop5.reflection">Reflection</link>:</para> + <simpara><link linkend="language.oop5.reflection">Reflection</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1294,7 +1320,7 @@ <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionclass">ReflectionClass::getShortName()</link> - - Returns the short name of the class (without namespace part). + - Returns the short name of this class (without namespace part). </simpara> </listitem> <listitem> @@ -1329,7 +1355,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.spl">SPL</link>:</para> + <simpara><link linkend="book.spl">SPL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1345,7 +1371,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.xsl">XSL</link>:</para> + <simpara><link linkend="book.xsl">XSL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1358,20 +1384,20 @@ <section xml:id="migration53.new-extensions"> <title>New Extensions</title> - <para> - The following are new extensions added (by default) as of PHP 5.3.0: - </para> + <simpara> + The following new extensions are added (by default) as of PHP 5.3.0: + </simpara> <itemizedlist> <listitem> <simpara> <link linkend="book.enchant">Enchant</link> - - Abstraction layer ontop of spell libraries + - An abstraction layer above various spelling libraries </simpara> </listitem> <listitem> <simpara> <link linkend="book.fileinfo">Fileinfo</link> - - Improved and more solid replacement (full BC) for the + - An improved and more solid replacement, featuring full BC, for the <link linkend="book.mime-magic">Mimetype</link> extension, which has been removed. </simpara> @@ -1396,22 +1422,25 @@ </simpara> </listitem> </itemizedlist> - <para> + <simpara> mysqlnd is a new core library shipped with PHP. It is a PHP-specific replacement for libmysql. mysqlnd will be used to build the - <link linkend="book.mysql">mysql</link>, <link linkend="book.mysqli">mysqli</link> - and <link linkend="ref.pdo-mysql">PDO_MYSQL</link> if libmysql isnt found - on the system, but it may also be used instead of libmysql. - </para> + <link linkend="book.mysql">mysql</link>, + <link linkend="book.mysqli">mysqli</link> + and <link linkend="ref.pdo-mysql">PDO_MySQL</link> extensions if libmysql + isnt found on the system. It may also be used instead of libmysql even when + libmysql is present. mysqlnd is recommended for all PHP installations for + performance reasons. + </simpara> </section> <section xml:id="migration53.removed-extensions"> <title>Removed Extensions</title> - <para> - These extensions have been moved to PECL and are no longer - part of the PHP distribution. The PECL package version of - these extensions will be created according to user demand. - </para> + <simpara> + These extensions have been moved to PECL and are no longer part of the PHP + distribution. The PECL package versions of these extensions will be created + according to user demand. + </simpara> <itemizedlist> <listitem> <simpara> @@ -1452,29 +1481,28 @@ <listitem> <simpara> <link linkend="book.sybase">sybase</link> - - Discontinued, use <link linkend="book.sybase">sybase_ct</link> - instead, which still is in the PHP Core. + - Discontinued; use the <link linkend="book.sybase">sybase_ct</link> + extension instead </simpara> </listitem> <listitem> <simpara> <link linkend="book.mhash">mhash</link> - - Discontinued, use <link linkend="book.hash">hash</link> + - Discontinued; use the <link linkend="book.hash">hash</link> extension instead. <link linkend="book.hash">hash</link> has full mhash - compatibility so all existing applications using the old functions still - work. + compatibility; all existing applications using the old functions will + continue to work. </simpara> </listitem> </itemizedlist> </section> - <section xml:id="migration53.extensions-other"> <title>Other changes to extensions</title> - <para> - The following extensions can no longer be disabled - during compilation configure: - </para> + <simpara> + The following extensions can no longer be disabled during build + configuration: + </simpara> <itemizedlist> <listitem> <simpara> @@ -1492,9 +1520,9 @@ </simpara> </listitem> </itemizedlist> - <para> - Changes in behaviour/new features to extensions: - </para> + <simpara> + Changes in extension behaviour, and new features: + </simpara> <itemizedlist> <listitem> <simpara> @@ -1511,7 +1539,8 @@ <listitem> <simpara> <link linkend="book.network">Network</link> - - now contains an extra "entries" indice, containing the TXT elements + - <function>dns_check_record</function> now returns an extra "entries" + index, containing the TXT elements. </simpara> </listitem> <listitem> @@ -1529,24 +1558,29 @@ <listitem> <simpara> <link linkend="book.oci8">OCI8</link> - - Calling <function>oci_close</function> on a persistent - connection, or on a variable that references a persistent - connection going out of scope, will now roll back any uncommitted - transaction. You should explicitly commit or rollback as needed. Setting - <link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics=On</link> - in &php.ini; gives the old behaviour. + - A call to <function>oci_close</function> on a persistent connection, or a + variable referencing a persistent connection going out of scope, will now + roll back any uncommitted transaction. To avoid unexpected behavior, + explicitly issue a commit or roll back as needed. The old behavior can be + enabled with the INI directive + <link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics</link>. + </simpara> + <simpara> + Database Resident Connection Pooling (DRCP) and Fast Application + Notification (FAN) are now supported. + </simpara> + <simpara> + Oracle External Authentication is now supported (except on Windows). </simpara> <simpara> - Supports Database Resident Connection Pooling (DRCP), Fast - Application Notification (FAN) support, Oracle External - Authentication (not supported on Windows). - <function>oci_bind_by_name</function> now supports SQLT_AFC (aka CHAR datatype). + The <function>oci_bind_by_name</function> function now supports SQLT_AFC + (aka the CHAR datatype). </simpara> </listitem> <listitem> <simpara> <link linkend="book.openssl">OpenSSL</link> - - There is now support for OpenSSL digest and cipher functions. It is also + - OpenSSL digest and cipher functions are now supported. It is also now possible to access the internal values of DSA, RSA and DH keys. </simpara> </listitem> @@ -1554,8 +1588,9 @@ <simpara> <link linkend="book.session">Session</link> - Sessions will no longer store session-files in <literal>"/tmp"</literal> - where <link linkend="ini.open-basedir">open_basedir</link> restrictions apply, - unless <literal>"/tmp"</literal> is explicitly added to the list of allowed paths. + when <link linkend="ini.open-basedir">open_basedir</link> restrictions + apply, unless <literal>"/tmp"</literal> is explicitly added to the list of + allowed paths. </simpara> </listitem> <listitem> @@ -1576,11 +1611,11 @@ <section xml:id="migration53.classes"> <title>New Classes</title> - <para> + <simpara> The following classes were introduced in PHP 5.3.0: - </para> + </simpara> - <para><link linkend="book.datetime">Date/Time</link>:</para> + <simpara><link linkend="book.datetime">Date/Time</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1594,7 +1629,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.phar">Phar</link>:</para> + <simpara><link linkend="book.phar">Phar</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1618,7 +1653,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.spl">SPL</link>:</para> + <simpara><link linkend="book.spl">SPL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1686,7 +1721,7 @@ <section xml:id="migration53.global-constants"> <title>New Global Constants</title> - <para>PHP Core:</para> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> @@ -1780,7 +1815,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.curl">cURL</link>:</para> + <simpara><link linkend="book.curl">cURL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1789,7 +1824,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.image">GD</link>:</para> + <simpara><link linkend="book.image">GD</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1798,7 +1833,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.json">JSON</link>:</para> + <simpara><link linkend="book.json">JSON</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1852,7 +1887,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.ldap">LDAP</link>:</para> + <simpara><link linkend="book.ldap">LDAP</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1861,7 +1896,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.libxml">libxml</link>:</para> + <simpara><link linkend="book.libxml">libxml</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1870,7 +1905,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.pcre">PCRE</link>:</para> + <simpara><link linkend="book.pcre">PCRE</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1879,7 +1914,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.pcntl">PCNTL</link>:</para> + <simpara><link linkend="book.pcntl">PCNTL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -2121,22 +2156,22 @@ <section xml:id="migration53.ini"> <title>Changes to INI file handling</title> - <para> - PHP 5.3.0 have significantly improved performance, parsing and - new features syntax features. - </para> + <simpara> + PHP 5.3.0 has significantly improved performance and parsing of INI files, + and adds several new syntax features. + </simpara> <itemizedlist> <listitem> <simpara> - The standard &php.ini; files have been re-organized, and renamed. - <literal>php.ini-development</literal> have settings thats recommded - for use in a development environments. <literal>php.ini-production</literal> - is configured to production environments. + The standard &php.ini; files have been re-organized and renamed. + <literal>php.ini-development</literal> contains settings recommded + for use in development environments. <literal>php.ini-production</literal> + contains settings recommended for use in production environments. </simpara> </listitem> <listitem> <simpara> - There is now support for special sections: + There is now support for two special sections: <literal>[PATH=/opt/httpd/www.example.com/]</literal> and <literal>[HOST=www.example.com]</literal>. Directives set in these sections cannot be overridden by user-defined INI files or at @@ -2146,32 +2181,35 @@ </listitem> <listitem> <simpara> - <literal>zend_extension_debug</literal> and <literal>zend_extension_ts</literal> - have been removed. Instead use the <literal>zend_extension</literal> - directive to load all Zend Extensions. + <literal>zend_extension_debug</literal> and + <literal>zend_extension_ts</literal> have been removed. Use the + <literal>zend_extension</literal> directive to load all Zend Extensions. </simpara> </listitem> <listitem> <simpara> <literal>zend.ze1_compatibility_mode</literal> has been removed. If this - INI directive is set to on, then an <constant>E_ERROR</constant> is + INI directive is set to On, an <constant>E_ERROR</constant> error is emitted at startup. </simpara> </listitem> <listitem> <simpara> It is now possible to use the full path to load modules using the - "<link linkend="ini.extension"><literal>extension</literal></link>" directive. + "<link linkend="ini.extension"><literal>extension</literal></link>" + directive. </simpara> </listitem> <listitem> <simpara> - <literal>"ini-variables"</literal> can now be used almost anywhere in a &php.ini; file. + <literal>"ini-variables"</literal> can now be used almost anywhere in a + &php.ini; file. </simpara> </listitem> <listitem> <simpara> - Runtime tightening of <literal>open_basedir</literal> restrictions is now possible. + Runtime tightening of <literal>open_basedir</literal> restrictions is now + possible. </simpara> </listitem> <listitem> @@ -2211,14 +2249,15 @@ </simpara> </listitem> </itemizedlist> - <para> + <simpara> The following new ini directives have been added: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - <literal>user_ini.filename</literal> and <literal>user_ini.cache_ttl</literal> - for the new user initialization mechanism. + <literal>user_ini.filename</literal> and + <literal>user_ini.cache_ttl</literal> for the new .htaccess-style user INI + file mechanism. </simpara> </listitem> <listitem> @@ -2231,14 +2270,14 @@ <listitem> <simpara> Added <literal>request_order</literal>. - Allows controlling which exactly request options should be available in + Allows controlling which external variables will be available in <varname>$_REQUEST</varname>. </simpara> </listitem> </itemizedlist> - <para> - The following ini directives have changed default value: - </para> + <simpara> + The following ini directives have new default values: + </simpara> <itemizedlist> <listitem> <simpara> @@ -2266,8 +2305,9 @@ </listitem> <listitem> <simpara> - <classname>SplObjectStorage</classname> now has <classname>ArrayAccess</classname> - support. It is also now possible to store associative information with objects in + <classname>SplObjectStorage</classname> now has + <classname>ArrayAccess</classname> support. It is now also possible to + store associative information with objects in <classname>SplObjectStorage</classname>. </simpara> </listitem> @@ -2279,18 +2319,19 @@ </listitem> <listitem> <simpara> - <function>var_dump</function> outputs now includes private object members. + <function>var_dump</function> output now includes private object members. </simpara> </listitem> <listitem> <simpara> - <function>session_start</function> now returns &false; when the session startup fails. + <function>session_start</function> now returns &false; when session startup + fails. </simpara> </listitem> <listitem> <simpara> - <function>property_exists</function> now checks the existence of a property independent of - accessibility (like <function>method_exists</function>). + <function>property_exists</function> now checks the existence of a property + independent of accessibility (like <function>method_exists</function>). </simpara> </listitem> <listitem> @@ -2307,9 +2348,10 @@ </listitem> <listitem> <simpara> - The <link linkend="ref.dir">directory functions</link> <function>opendir</function>, - <function>scandir</function> and <function>dir</function> now use the default - context if no context is passed as an argument to them. + The <link linkend="ref.dir">directory functions</link> + <function>opendir</function>, <function>scandir</function>, and + <function>dir</function> now use the default stream context if no explicit + context is passed. </simpara> </listitem> <listitem> @@ -2322,23 +2364,16 @@ </listitem> <listitem> <simpara> - <function>getopt</function> accepts "long options" now on all platforms. - Optional values and <literal>=</literal> as seperator for shortopts are now supported. - </simpara> - </listitem> - <listitem> - <simpara> - <function>fopen</function> got a new mode option - (<literal>n</literal>), which passes will pass - <constant>O_NONBLOCK</constant> to the underlaying - <literal>syscall()</literal> call. + <function>getopt</function> now accepts "long options" on all platforms. + Optional values and <literal>=</literal> as a separator for short options + are now supported. </simpara> </listitem> <listitem> <simpara> - <function>opendir</function>, <function>dir</function> and - <function>scandir</function> functions will not use the default context - if no context argument is passed. + <function>fopen</function> has a new mode option (<literal>n</literal>), + which passes <constant>O_NONBLOCK</constant> to the underlying + <literal>open()</literal> system call. </simpara> </listitem> <listitem>
http://cvs.php.net/viewvc.cgi/phpdoc/en/appendices/migration53.xml?r1=1.26&r2=1.27&diff_format=u Index: phpdoc/en/appendices/migration53.xml diff -u phpdoc/en/appendices/migration53.xml:1.26 phpdoc/en/appendices/migration53.xml:1.27 --- phpdoc/en/appendices/migration53.xml:1.26 Tue Jun 30 08:07:33 2009 +++ phpdoc/en/appendices/migration53.xml Tue Jun 30 20:24:53 2009 @@ -1,27 +1,27 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.26 $ --> +<!-- $Revision: 1.27 $ --> <appendix xml:id="migration53" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Migrating from PHP 5.2.x to PHP 5.3.x</title> - <para> + <simpara> &manual.migration.seealso; <link linkend="migration5">5.0.x</link>, <link linkend="migration51">5.1.x</link> and <link linkend="migration52">5.2.x</link>. - </para> + </simpara> <section xml:id="migration53.changes"> <title>What has changed in PHP 5.3.x</title> - <para> + <simpara> Most improvements in PHP 5.3.x have no impact on existing code. There are a <link linkend="migration53.incompatible">few incompatibilities</link> and <link linkend="migration53.new-features">new features</link> that should be considered, and code should be tested before switching PHP versions in production environments. - </para> - <para> - If the system is being upgraded from an older version of PHP, then the - relevant documentation is available below: - </para> + </simpara> + <simpara> + For systems being upgraded from an older version of PHP, the relevant + documentation is available at: + </simpara> <itemizedlist> <listitem> <simpara> @@ -43,73 +43,73 @@ <section xml:id="migration53.incompatible"> <title>Backward Incompatible Changes</title> - <para> - Although most existing PHP 5 code should work without changes, you should - pay attention to the following backward incompatible changes: - </para> + <simpara> + Although most existing PHP 5 code should work without changes, please take + note of some backward incompatible changes: + </simpara> <itemizedlist> <listitem> <simpara> - The internal parameter parsing API have been applied across all - the extensions that PHP 5.3.x comes with. This parameter parsing API - will make the function return &null; if incompatible parameters are - passed to the function. There are some exceptions to this, like the - <function>get_class</function> will still return &false; in case of an - error. + The newer internal parameter parsing API has been applied across all the + extensions bundled with PHP 5.3.x. This parameter parsing API causes + functions to return &null; when passed incompatible parameters. There are + some exceptions to this rule, such as the <function>get_class</function> + function, which will continue to return &false; on error. </simpara> </listitem> <listitem> <simpara> - <function>clearstatcache</function> no longer clears the realpath - cache by default. + <function>clearstatcache</function> no longer clears the realpath cache by + default. </simpara> </listitem> <listitem> <simpara> - <function>realpath</function> is no longer system dependent and works the - same on all platforms. + <function>realpath</function> is now fully platform-independent. </simpara> </listitem> <listitem> <simpara> - <function>call_user_func</function> and family now propagates <literal>$this</literal> - even if the callee is the parent class. + The <function>call_user_func</function> family of functions now propagate + <literal>$this</literal> even if the callee is a parent class. </simpara> </listitem> <listitem> <simpara> - The array functions: <function>natsort</function>, <function>natcasesort</function>, - <function>usort</function>, <function>uasort</function>, <function>uksort</function>, - <function>array_flip</function> and <function>array_unique</function>, no longer accept - objects passed as arguments. If you need to access their properties using an object, - you will need to cast the objects to arrays first. + The array functions <function>natsort</function>, + <function>natcasesort</function>, <function>usort</function>, + <function>uasort</function>, <function>uksort</function>, + <function>array_flip</function>, and <function>array_unique</function> no + longer accept objects passed as arguments. To apply these functions to an + object, cast the object to an array first. </simpara> </listitem> <listitem> <simpara> The behaviour of functions with by-reference parameters called by value has - changed. Where previously the function would accept the by-value argument, a - warning is now emitted and all by-ref parameters are set to &null;. + changed. Where previously the function would accept the by-value argument, + a warning is now emitted and all by-ref parameters are set to &null;. </simpara> </listitem> <listitem> <simpara> - The new mysqlnd library necessitates using MySQL's newer 41 bytes password format. - Continued use of the old 16 bytes passwords will cause <function>mysql_connect</function> - to produce the following error message: <literal>"mysqlnd cannot connect to MySQL 4.1+ - using old authentication"</literal>. + The new mysqlnd library necessitates the use of MySQL 4.1's newer 41-byte + password format. Continued use of the old 16-byte passwords will cause + <function>mysql_connect</function> and similar functions to emit the error, + <literal>"mysqlnd cannot connect to MySQL 4.1+ using old + authentication."</literal> </simpara> </listitem> <listitem> <simpara> - The trailing / has been removed from <classname>SplFileInfo</classname> and other related - directory classes. + The trailing / has been removed from the <classname>SplFileInfo</classname> + class and other related directory classes. </simpara> </listitem> <listitem> <simpara> - The <link linkend="language.oop5.magic.tostring">__toString</link> magic method can - no longer accept arguments. + The <link linkend="language.oop5.magic.tostring">__toString</link> magic + method can no longer accept arguments. </simpara> </listitem> <listitem> @@ -118,22 +118,22 @@ <link linkend="language.oop5.overloading.members">__get</link>, <link linkend="language.oop5.overloading.members">__set</link>, <link linkend="language.oop5.overloading.members">__isset</link>, - <link linkend="language.oop5.overloading.members">__unset</link>, - <link linkend="language.oop5.overloading.methods">__call</link>, - should always be public and can no longer be static. Method signatures are enforced. + <link linkend="language.oop5.overloading.members">__unset</link>, and + <link linkend="language.oop5.overloading.methods">__call</link> must always + be public and can no longer be static. Method signatures are now enforced. </simpara> </listitem> <listitem> <simpara> The <link linkend="language.oop5.overloading.methods">__call</link> - magic method now gets invoked on private/protected method access. + magic method is now invoked on access to private and protected methods. </simpara> </listitem> </itemizedlist> - <para> - The following keywords are now reserved and may not be used - in function, class etc. names. - </para> + <simpara> + The following keywords are now reserved and may not be used in function, + class, etc. names. + </simpara> <itemizedlist> <listitem> <simpara> @@ -150,10 +150,9 @@ <section xml:id="migration53.new-features"> <title>New features</title> - <para> - PHP 5.3.0 contains a wide set of new features, below lists new features - available to the language and syntax. - </para> + <simpara> + PHP 5.3.0 offers a wide range of new features: + </simpara> <itemizedlist> <listitem> <simpara> @@ -163,14 +162,14 @@ </listitem> <listitem> <simpara> - Support for <link linkend="language.oop5.late-static-bindings">Late Static Bindings</link> - has been added. + Support for <link linkend="language.oop5.late-static-bindings">Late Static + Bindings</link> has been added. </simpara> </listitem> <listitem> <simpara> - Support for a <link linkend="control-structures.goto">jump label</link> (limited goto) - has been added. + Support for <link linkend="control-structures.goto">jump labels</link> + (limited goto) has been added. </simpara> </listitem> <listitem> @@ -181,40 +180,43 @@ </listitem> <listitem> <simpara> - There are two new magic methods: + There are two new magic methods, <link linkend="language.oop5.overloading.methods">__callStatic</link> and - <link linkend="language.oop5.magic.invoke">__invoke</link> has been added. + <link linkend="language.oop5.magic.invoke">__invoke</link>. </simpara> </listitem> <listitem> <simpara> - <link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> syntax is now - supported, and works like <link linkend="language.types.string.syntax.heredoc">Heredoc</link> + <link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> syntax is + now supported, similar to + <link linkend="language.types.string.syntax.heredoc">Heredoc</link> syntax, but with single quotes. </simpara> </listitem> <listitem> <simpara> - It's now possible to use <link linkend="language.types.string.syntax.heredoc">Heredoc</link> - to initialize static variables and class members/constants. + It is now possible to use + <link linkend="language.types.string.syntax.heredoc">Heredoc</link>s to + initialize static variables and class members/constants. </simpara> </listitem> <listitem> <simpara> - <link linkend="language.types.string.syntax.heredoc">Heredoc</link> syntax may now be declared - using double quotes. + <link linkend="language.types.string.syntax.heredoc">Heredoc</link>s may + now be declared using double quotes, complementing the + <link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> syntax. </simpara> </listitem> <listitem> <simpara> - <link linkend="language.constants.syntax">Constants</link> can now be declared outside a class - declaring using the <literal>const</literal> keyword. + <link linkend="language.constants.syntax">Constants</link> can now be + declared outside a class using the <literal>const</literal> keyword. </simpara> </listitem> <listitem> <simpara> - The <link linkend="language.operators.comparison.ternary">ternary</link> operator - now have a shorthand operator <literal>?:</literal>. + The <link linkend="language.operators.comparison.ternary">ternary</link> + operator now has a shorthand form: <literal>?:</literal>. </simpara> </listitem> <listitem> @@ -235,7 +237,7 @@ </listitem> <listitem> <simpara> - Gargbage collector has been added and enabled by default. + A garbage collector has been added, and is enabled by default. </simpara> </listitem> </itemizedlist> @@ -243,19 +245,20 @@ <section xml:id="migration53.windows"> <title>Changes made to Windows support</title> - <para> + <simpara> Changes to the Windows releases: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - The minimum Windows version is now Windows 2000; Windows 98, ME and NT4 are - no longer supported. + The minimum Windows version is now Windows 2000; Windows 98, ME, and NT4 + are no longer supported. </simpara> </listitem> <listitem> <simpara> - Windows binaries now target i586 and later. i386 and i486 are not supported. + Windows binaries now target i586 and later. i386 and i486 are not + supported. </simpara> </listitem> <listitem> @@ -265,32 +268,34 @@ </listitem> <listitem> <simpara> - There is now compiler support for Visual C++ 9 (VC9), using Visual Studio 2008. Snapshots - and releases will now also be available for VC9. Old binaries using VC6 are still supported - and released in the line with VC9. + There is now compiler support for Visual C++ 9 (VC9), using Visual Studio + 2008. Snapshots and releases will now also be available for VC9. Old + binaries using VC6 are still supported and released in the line with VC9. </simpara> </listitem> <listitem> <simpara> - The <link linkend="ref.pdo-oci">PDO_OCI</link> <literal>php_pdo_oci8.dll</literal> library - (for use with Oracle version 8 client libraries) is no longer being built. Instead, - use <literal>php_pdo_oci.dll</literal> (note no '8') with Oracle 10 or 11 client - libraries. Connection to other database versions is supported. + The <link linkend="ref.pdo-oci">PDO_OCI</link> + <literal>php_pdo_oci8.dll</literal> library (for use with Oracle version 8 + client libraries) is no longer being built. Instead, use + <literal>php_pdo_oci.dll</literal> (note no '8') with Oracle 10 or 11 + client libraries. Connection to other database versions is still supported. </simpara> </listitem> <listitem> <simpara> For the <link linkend="book.oci8">OCI8</link> extension, a new library - <literal>php_oci8_11g.dll</literal> is available in addition to <literal>php_oci8.dll</literal>. - Only one can be enabled at any time. Use <literal>php_oci8.dll</literal> with Oracle 10.2 - client libraries. Use <literal>php_oci8_11g.dll</literal> with Oracle 11 client libraries. Connection - to other database versions is supported. + <literal>php_oci8_11g.dll</literal> is available in addition to + <literal>php_oci8.dll</literal>. Only one can be enabled at any time. Use + <literal>php_oci8.dll</literal> with Oracle 10.2 client libraries. Use + <literal>php_oci8_11g.dll</literal> with Oracle 11 client libraries. + Connection to other database versions is still supported. </simpara> </listitem> </itemizedlist> - <para> + <simpara> Windows support has been added for the following functions: - </para> + </simpara> <itemizedlist> <listitem> <simpara> @@ -355,8 +360,8 @@ <listitem> <simpara> <function>socket_create_pair</function> - - This function was previously available on Windows, but - was due to a bug disabled as of PHP 4.3.0. + - This function was previously available on Windows, but was disabled as of + PHP 4.3.0 due to a bug. </simpara> </listitem> <listitem> @@ -380,43 +385,46 @@ </simpara> </listitem> </itemizedlist> - <para> + <simpara> Other changes: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - Improved portability of <function>stat</function>, <function>touch</function>, - <function>filemtime</function>, <function>filesize</function> and related - functions (100% portable for the available data). + Improved portability of the <function>stat</function>, + <function>touch</function>, <function>filemtime</function>, + <function>filesize</function> functions, and other related functions (100% + portable for the available data). </simpara> </listitem> <listitem> <simpara> - It's now possible to use hardlinks on Windows using the <function>link</function> - function, and symbolic links via the <function>symlink</function> function. Hardlinks - are available as of Windows 2000 and symbolic links as of Windows Vista. + It is now possible to create hard links on Windows using the + <function>link</function> function, and symbolic links using the + <function>symlink</function> function. Hard links are available as of + Windows 2000, and symbolic links as of Windows Vista. </simpara> </listitem> <listitem> <simpara> - The Windows version of PHP will expose a set of constants prefixed - <literal>PHP_WINDOWS_*</literal>, a list of them and their usage can be found - <link linkend="info.constants">here</link>. + The Windows version of PHP now exposes a set of constants prefixed + <literal>PHP_WINDOWS_*</literal>. A list of these constants and their usage + can be found at <xref linkend="info.constants" />. </simpara> </listitem> </itemizedlist> <warning> <simpara> - Support for the ISAPI module have been dropped, use the improved - and much better FastCGI sapi module instead. + Support for the ISAPI module has been dropped. Use the improved FastCGI SAPI + module instead. </simpara> </warning> <note> <simpara> - A new dedicated site for PHP on Windows, including downloads, release candidates - and snapshots in various flavors (Thread-safe/not-thread-safe, VC6/VC9, x86/x64). - The URL for this site is <link xlink:href="&url.php.windows;">&url.php.windows;</link>. + A new dedicated site for PHP on Windows is now available, including + downloads, release candidates, and snapshots in various flavors + (thread-safe/not-thread-safe, VC6/VC9, x86/x64). The URL of this site is + <link xlink:href="&url.php.windows;">&url.php.windows;</link>. </simpara> </note> </section> @@ -426,30 +434,31 @@ <itemizedlist> <listitem> <simpara> - A new SAPI is now available called litespeed. + A new SAPI module named litespeed is now available. </simpara> </listitem> <listitem> <simpara> - FastCGI is now always enabled and can not be disabled. See <literal>sapi/cgi/CHANGES</literal> - for more details. + FastCGI is now always enabled and can not be disabled. See + <literal>sapi/cgi/CHANGES</literal> for more details. </simpara> </listitem> <listitem> <simpara> - A new CGI SAPI option, <literal>-T</literal>, can be used to measure execution time of a script - repeated several times. + A new CGI SAPI option, <literal>-T</literal>, can be used to measure + repeated execution time of a script. </simpara> </listitem> <listitem> <simpara> - CGI/FastCGI now has support for .htaccess style user-defined &php.ini; files. + CGI/FastCGI now has support for .htaccess-style user-defined &php.ini; + files. </simpara> </listitem> <listitem> <simpara> - The <function>dl</function> function is now disabled by default, - and only available under the cli, cgi and the embed SAPIs. + The <function>dl</function> function is now disabled by default, and is now + available only under the CLI, CGI, and embed SAPIs. </simpara> </listitem> </itemizedlist> @@ -457,18 +466,21 @@ <section xml:id="migration53.deprecated"> <title>Deprecated features in PHP 5.3.x</title> - <para> - PHP 5.3.0 introduces two new error levels; <constant>E_DEPRECATED</constant> - and <constant>E_USER_DEPRECATED</constant>. The <constant>E_DEPRECATED</constant> - error level is used to indicated that a feature have been deprecated, the - <constant>E_USER_DEPRECATED</constant> level should be used to indicate deprecated - features in userland defined code, just like the <constant>E_USER_WARNING</constant> - level for example. - </para> - <para> - The following is a list of deprecated INI directives, if one or more of these - are activated, they will issue an deprecation notice upon startup. - </para> + <simpara> + PHP 5.3.0 introduces two new error levels: <constant>E_DEPRECATED</constant> + and <constant>E_USER_DEPRECATED</constant>. The + <constant>E_DEPRECATED</constant> error level is used to indicate that a + function or feature has been deprecated. The + <constant>E_USER_DEPRECATED</constant> level is intended for indicating + deprecated features in user code, similarly to the + <constant>E_USER_ERROR</constant> and <constant>E_USER_WARNING</constant> + levels. + </simpara> + <simpara> + The following is a list of deprecated INI directives. Use of any of these INI + directives will cause an <constant>E_DEPRECATED</constant> error to be thrown + at startup. + </simpara> <itemizedlist> <listitem> <simpara> @@ -507,22 +519,24 @@ </listitem> <listitem> <simpara> - And comments starting with '#' are deprecated in .INI files. + Comments starting with '#' are now deprecated in .INI files. </simpara> </listitem> </itemizedlist> - <para> + <simpara> Deprecated functions: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - <function>call_user_method</function> + <function>call_user_method</function> (use + <function>call_user_func</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>call_user_method_array</function> + <function>call_user_method_array</function> (use + <function>call_user_func_array</function> instead) </simpara> </listitem> <listitem> @@ -537,58 +551,66 @@ </listitem> <listitem> <simpara> - <function>ereg</function> + <function>ereg</function> (use <function>preg_match</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>ereg_replace</function> + <function>ereg_replace</function> (use <function>preg_replace</function> + instead) </simpara> </listitem> <listitem> <simpara> - <function>eregi</function> + <function>eregi</function> (use <function>preg_match</function> with the + <literal>'i'</literal> modifier instead) </simpara> </listitem> <listitem> <simpara> - <function>eregi_replace</function> + <function>eregi_replace</function> (use <function>preg_replace</function> + with the <literal>'i'</literal> modifier instead) </simpara> </listitem> <listitem> <simpara> - <function>set_magic_quotes_runtime</function> and its alias + <function>set_magic_quotes_runtime</function> and its alias, <function>magic_quotes_runtime</function> </simpara> </listitem> <listitem> <simpara> - <function>session_register</function> + <function>session_register</function> (use the <varname>$_SESSION</varname> + superglobal instead) </simpara> </listitem> <listitem> <simpara> - <function>session_unregister</function> + <function>session_unregister</function> (use the + <varname>$_SESSION</varname> superglobal instead) </simpara> </listitem> <listitem> <simpara> - <function>session_is_registered</function> + <function>session_is_registered</function> (use the + <varname>$_SESSION</varname> superglobal instead) </simpara> </listitem> <listitem> <simpara> - <function>set_socket_blocking</function> + <function>set_socket_blocking</function> (use + <function>stream_set_blocking</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>split</function> + <function>split</function> (use <function>preg_split</function> instead) </simpara> </listitem> <listitem> <simpara> - <function>spliti</function> + <function>spliti</function> (use <function>preg_split</function> with the + <literal>'i'</literal> modifier instead) </simpara> </listitem> <listitem> @@ -598,42 +620,50 @@ </listitem> <listitem> <simpara> - <function>mysql_db_query</function> + <function>mysql_db_query</function> (use + <function>mysql_select_db</function> and <function>mysql_query</function> + instead) </simpara> </listitem> <listitem> <simpara> - <function>mysql_escape_string</function> + <function>mysql_escape_string</function> (use + <function>mysql_real_escape_string</function> instead) </simpara> </listitem> <listitem> <simpara> - Passing locale category name as string is deprecated. + Passing locale category names as strings is now deprecated. Use the LC_* + family of constants instead. </simpara> </listitem> <listitem> <simpara> - The <parameter>is_dst</parameter> to <function>mktime</function> + The <parameter>is_dst</parameter> parameter to <function>mktime</function>. + Use the new timezone handling functions instead. </simpara> </listitem> </itemizedlist> - <para> + <simpara> Deprecated features: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - Assigning the return value of "new" by reference is deprecated + Assigning the return value of + <link linkend="language.oop5.basic.new">new</link> by reference is now + deprecated. </simpara> </listitem> <listitem> <simpara> - Call-time pass-by-reference has been deprecated + Call-time pass-by-reference is now deprecated. </simpara> </listitem> <listitem> <simpara> - Usage of {} to access string offsets is deprecated + The use of <literal>{}</literal> to access string offsets is deprecated. + Use <literal>[]</literal> instead. </simpara> </listitem> </itemizedlist> @@ -641,31 +671,30 @@ <section xml:id="migration53.undeprecated"> <title>Undeprecated features in PHP 5.3.x</title> - <para> - The <function>is_a</function> have been undeprecated by - popular request, meaning it will no longer issue an - <constant>E_STRICT</constant> error. - </para> + <simpara> + The <function>is_a</function> function has been undeprecated by popular + request; it will no longer issue an <constant>E_STRICT</constant> error. + </simpara> </section> <section xml:id="migration53.parameters"> <title>New Parameters</title> - <para> - Some functions were given new, optional, parameters in PHP 5.3.x: - </para> - <para>PHP Core:</para> + <simpara> + Several functions were given new, optional parameters in PHP 5.3: + </simpara> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> <function>clearstatcache</function> - - Added <parameter>clear_realpath_cache</parameter> - and <parameter>filename</parameter>. + - Added <parameter>clear_realpath_cache</parameter> and + <parameter>filename</parameter>. </simpara> </listitem> <listitem> <simpara> <function>copy</function> - - Added <parameter>context</parameter>. + - Added a stream context parameter, <parameter>context</parameter>. </simpara> </listitem> <listitem> @@ -682,7 +711,8 @@ </listitem> <listitem> <simpara> - <function>mail</function> now supports logging of mail sent. + The <function>mail</function> function now supports logging of sent email. + (Note: This only applies to email sent through this function.) </simpara> </listitem> <listitem> @@ -717,7 +747,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.json">json</link>:</para> + <simpara><link linkend="book.json">json</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -733,20 +763,20 @@ </listitem> </itemizedlist> - <para><link linkend="book.stream">Stream</link>:</para> + <simpara><link linkend="book.stream">Streams</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>stream_select</function>, <function>stream_set_blocking</function>, - <function>stream_set_timeout</function> and + <function>stream_set_timeout</function>, and <function>stream_set_write_buffer</function> now work with user-space stream wrappers. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.sybase">sybase_ct</link>:</para> + <simpara><link linkend="book.sybase">sybase_ct</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -756,10 +786,10 @@ </listitem> </itemizedlist> - <para> - New parameters to methods in PHP 5.3.0. - </para> - <para>PHP Core:</para> + <simpara> + New method parameters in PHP 5.3.0: + </simpara> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> @@ -772,24 +802,22 @@ <section xml:id="migration53.functions"> <title>New Functions</title> - <para> - PHP 5.3.x introduced some new functions: - </para> + <simpara> + PHP 5.3 introduced some new functions: + </simpara> - <para>PHP Core:</para> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> <function>array_replace</function> - - Replaces elements from passed arrays into one - array. + - Replaces elements from passed arrays into one array. </simpara> </listitem> <listitem> <simpara> <function>array_replace_recursive</function> - - Recursively replaces elements from passed arrays - into one array. + - Recursively replaces elements from passed arrays into one array. </simpara> </listitem> <listitem> @@ -801,14 +829,14 @@ <listitem> <simpara> <function>forward_static_call</function> - - Call a user function which is the first parameter. + - Call a user function from a method context. </simpara> </listitem> <listitem> <simpara> <function>forward_static_call_array</function> - - Call a user function which is the first parameter - with the arguments contained in an array. + - Call a user function from a method context, with the arguments contained + in an array. </simpara> </listitem> <listitem> @@ -826,27 +854,25 @@ <listitem> <simpara> <function>gc_enable</function> - - Activated the circular reference collector. + - Activates the circular reference collector. </simpara> </listitem> <listitem> <simpara> <function>gc_enabled</function> - - Returns the status of the circular reference - collector. + - Returns the status of the circular reference collector. </simpara> </listitem> <listitem> <simpara> <function>get_called_class</function> - - Gets the name of the class the static method is - called in. + - Return the name of the class a static method is called in. </simpara> </listitem> <listitem> <simpara> <function>gethostname</function> - - Gets the current host name for the local machine. + - Return the current host name for the local machine. </simpara> </listitem> <listitem> @@ -871,8 +897,7 @@ <listitem> <simpara> <function>quoted_printable_encode</function> - - Convert an 8 bit string to a quoted-printable - string. + - Convert an 8 bit string to a quoted-printable string. </simpara> </listitem> <listitem> @@ -890,19 +915,19 @@ <listitem> <simpara> <function>stream_supports_lock</function> - - Tells whether the stream supports locking. + - Return &true; if the stream supports locking. </simpara> </listitem> <listitem> <simpara> <function>stream_context_get_params</function> - - Retrieve parameters from context. + - Retrieve parameters from a stream context. </simpara> </listitem> <listitem> <simpara> <function>streamWrapper::stream_cast</function> - - Retrieve the underlaying resource. + - Retrieve the underlying stream resource. </simpara> </listitem> <listitem> @@ -913,67 +938,67 @@ </listitem> </itemizedlist> - <para><link linkend="book.datetime">Date/Time</link>:</para> + <simpara><link linkend="book.datetime">Date/Time</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>date_add</function> - - Adds an amount of days, months, years, hours, minutes and - seconds to a <classname>DateTime</classname> object. + - Adds an amount of days, months, years, hours, minutes and seconds to a + <classname>DateTime</classname> object. </simpara> </listitem> <listitem> <simpara> <function>date_create_from_format</function> - - Returns new <classname>DateTime</classname> object formatted according to the - specified format. + - Returns a new <classname>DateTime</classname> object formatted according + to the given format. </simpara> </listitem> <listitem> <simpara> <function>date_diff</function> - - Returns the difference between two <classname>DateTime</classname> objects. + - Returns the difference between two <classname>DateTime</classname> + objects. </simpara> </listitem> <listitem> <simpara> <function>date_get_last_errors</function> - - Returns the warnings and errors from the last - date/time operation. + - Returns the warnings and errors from the last date/time operation. </simpara> </listitem> <listitem> <simpara> <function>date_parse_from_format</function> - - Get info about given date. + - Get infoformation about a given date. </simpara> </listitem> <listitem> <simpara> <function>date_sub</function> - - Subtracts an amount of days, months, years, hours, minutes - and seconds from a <classname>DateTime</classname> object. + - Subtracts an amount of days, months, years, hours, minutes and seconds + from a <classname>DateTime</classname> object. </simpara> </listitem> <listitem> <simpara> <function>timezone_version_get</function> - - Gets the version of the timezonedb. + - Returns the version of the timezonedb. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.gmp">GMP</link>:</para> + <simpara><link linkend="book.gmp">GMP</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>gmp_testbit</function> - - Tests if a bit is set. + - Tests whether a bit is set. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.hash">Hash</link>:</para> + <simpara><link linkend="book.hash">Hash</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -983,7 +1008,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.imap">IMAP</link>:</para> + <simpara><link linkend="book.imap">IMAP</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1005,7 +1030,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.json">JSON</link>:</para> + <simpara><link linkend="book.json">JSON</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1015,7 +1040,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.mysqli">MySQL Improved</link>:</para> + <simpara><link linkend="book.mysqli">MySQL Improved</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1044,18 +1069,18 @@ </listitem> </itemizedlist> - <para><link linkend="book.openssl">OpenSSL</link>:</para> + <simpara><link linkend="book.openssl">OpenSSL</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>openssl_random_pseudo_bytes</function> - - Returns a string of the length specified filled with - random pseudo bytes. + - Returns a string of the given length specified, filled with pseudo-random + bytes. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.pcntl">PCNTL</link>:</para> + <simpara><link linkend="book.pcntl">PCNTL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1072,28 +1097,29 @@ <listitem> <simpara> <function>pcntl_sigtimedwait</function> - - Waits for signals, with a timeout. + - Wait for signals with a timeout. </simpara> </listitem> <listitem> <simpara> <function>pcntl_sigwaitinfo</function> - - Waits for signals. + - Wait for signals. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.pcre">PCRE</link>:</para> + <simpara><link linkend="book.pcre">PCRE</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>preg_filter</function> - - Perform a regular expression search and replace. + - Perform a regular expression search and replace, reutrning only results + which matched the pattern. </simpara> </listitem> </itemizedlist> - <para><link linkend="book.sem">Semaphore</link>:</para> + <simpara><link linkend="book.sem">Semaphore</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1104,15 +1130,15 @@ <listitem> <simpara> <function>shm_has_var</function> - - Checks whether a specific exists. + - Checks whether a specific key exists inside a shared memory segment. </simpara> </listitem> </itemizedlist> - <para> - The following functions are now natively implemented, meaning they - are always available no matter the operating system: - </para> + <simpara> + The following functions are now natively implemented, making them available + on all operating systems which can run PHP: + </simpara> <itemizedlist> <listitem> <simpara> @@ -1144,9 +1170,9 @@ <section xml:id="migration53.new-stream-wrappers"> <title>New stream wrappers</title> - <para> + <simpara> The following stream wrappers were introduced in 5.3.0: - </para> + </simpara> <itemizedlist> <listitem> <simpara> @@ -1163,18 +1189,18 @@ <section xml:id="migration53.new-stream-filters"> <title>New stream filters</title> - <para> + <simpara> The following stream filters were introduced in 5.3.0: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - dechunk + dechunk (reverses HTTP chunked encoding) </simpara> </listitem> <listitem> <simpara> - The bz2.decompress filter now supports concatenation + The bz2.decompress filter now supports concatenation. </simpara> </listitem> </itemizedlist> @@ -1182,11 +1208,11 @@ <section xml:id="migration53.class-constants"> <title>New Class Constants</title> - <para> - New class constants that were introduced in 5.3.0: - </para> + <simpara> + Several new class constants were introduced in 5.3.0: + </simpara> - <para><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</para> + <simpara><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1211,49 +1237,49 @@ <section xml:id="migration53.methods"> <title>New Methods</title> - <para> - New methods that were introduced in 5.3.0: - </para> + <simpara> + Several new methods were introduced in 5.3.0: + </simpara> - <para><link linkend="book.datetime">Date/Time</link>:</para> + <simpara><link linkend="book.datetime">Date/Time</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>DateTime::add</function> - - Adds an amount of days, months, years, hours, minutes and - seconds to a <classname>DateTime</classname> object. + - Adds an amount of days, months, years, hours, minutes and seconds to a + <classname>DateTime</classname> object. </simpara> </listitem> <listitem> <simpara> <function>DateTime::createFromFormat</function> - - Returns new <classname>DateTime</classname> object formatted according to the - specified format. + - Returns a new <classname>DateTime</classname> object formatted according + to the given format. </simpara> </listitem> <listitem> <simpara> <function>DateTime::diff</function> - - Returns the difference between two <classname>DateTime</classname> objects. + - Returns the difference between two <classname>DateTime</classname> + objects. </simpara> </listitem> <listitem> <simpara> <function>DateTime::getLastErrors</function> - - Returns the warnings and errors from the last - date/time operation. + - Returns the warnings and errors from the last date/time operation. </simpara> </listitem> <listitem> <simpara> <function>DateTime::sub</function> - - Subtracts an amount of days, months, years, hours, minutes - and seconds from a <classname>DateTime</classname> object. + - Subtracts an amount of days, months, years, hours, minutes and seconds + from a <classname>DateTime</classname> object. </simpara> </listitem> </itemizedlist> - <para><classname>Exception</classname>:</para> + <simpara><classname>Exception</classname>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1263,17 +1289,17 @@ </listitem> </itemizedlist> - <para><link linkend="book.dom">DOM</link>:</para> + <simpara><link linkend="book.dom">DOM</link>:</simpara> <itemizedlist> <listitem> <simpara> <function>DOMNode::getLineNo</function> - - Get line number of parsed node. + - Get the line number of a parsed node. </simpara> </listitem> </itemizedlist> - <para><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</para> + <simpara><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1283,7 +1309,7 @@ </listitem> </itemizedlist> - <para><link linkend="language.oop5.reflection">Reflection</link>:</para> + <simpara><link linkend="language.oop5.reflection">Reflection</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1294,7 +1320,7 @@ <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionclass">ReflectionClass::getShortName()</link> - - Returns the short name of the class (without namespace part). + - Returns the short name of this class (without namespace part). </simpara> </listitem> <listitem> @@ -1329,7 +1355,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.spl">SPL</link>:</para> + <simpara><link linkend="book.spl">SPL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1345,7 +1371,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.xsl">XSL</link>:</para> + <simpara><link linkend="book.xsl">XSL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1358,20 +1384,20 @@ <section xml:id="migration53.new-extensions"> <title>New Extensions</title> - <para> - The following are new extensions added (by default) as of PHP 5.3.0: - </para> + <simpara> + The following new extensions are added (by default) as of PHP 5.3.0: + </simpara> <itemizedlist> <listitem> <simpara> <link linkend="book.enchant">Enchant</link> - - Abstraction layer ontop of spell libraries + - An abstraction layer above various spelling libraries </simpara> </listitem> <listitem> <simpara> <link linkend="book.fileinfo">Fileinfo</link> - - Improved and more solid replacement (full BC) for the + - An improved and more solid replacement, featuring full BC, for the <link linkend="book.mime-magic">Mimetype</link> extension, which has been removed. </simpara> @@ -1396,22 +1422,25 @@ </simpara> </listitem> </itemizedlist> - <para> + <simpara> mysqlnd is a new core library shipped with PHP. It is a PHP-specific replacement for libmysql. mysqlnd will be used to build the - <link linkend="book.mysql">mysql</link>, <link linkend="book.mysqli">mysqli</link> - and <link linkend="ref.pdo-mysql">PDO_MYSQL</link> if libmysql isnt found - on the system, but it may also be used instead of libmysql. - </para> + <link linkend="book.mysql">mysql</link>, + <link linkend="book.mysqli">mysqli</link> + and <link linkend="ref.pdo-mysql">PDO_MySQL</link> extensions if libmysql + isnt found on the system. It may also be used instead of libmysql even when + libmysql is present. mysqlnd is recommended for all PHP installations for + performance reasons. + </simpara> </section> <section xml:id="migration53.removed-extensions"> <title>Removed Extensions</title> - <para> - These extensions have been moved to PECL and are no longer - part of the PHP distribution. The PECL package version of - these extensions will be created according to user demand. - </para> + <simpara> + These extensions have been moved to PECL and are no longer part of the PHP + distribution. The PECL package versions of these extensions will be created + according to user demand. + </simpara> <itemizedlist> <listitem> <simpara> @@ -1452,29 +1481,28 @@ <listitem> <simpara> <link linkend="book.sybase">sybase</link> - - Discontinued, use <link linkend="book.sybase">sybase_ct</link> - instead, which still is in the PHP Core. + - Discontinued; use the <link linkend="book.sybase">sybase_ct</link> + extension instead </simpara> </listitem> <listitem> <simpara> <link linkend="book.mhash">mhash</link> - - Discontinued, use <link linkend="book.hash">hash</link> + - Discontinued; use the <link linkend="book.hash">hash</link> extension instead. <link linkend="book.hash">hash</link> has full mhash - compatibility so all existing applications using the old functions still - work. + compatibility; all existing applications using the old functions will + continue to work. </simpara> </listitem> </itemizedlist> </section> - <section xml:id="migration53.extensions-other"> <title>Other changes to extensions</title> - <para> - The following extensions can no longer be disabled - during compilation configure: - </para> + <simpara> + The following extensions can no longer be disabled during build + configuration: + </simpara> <itemizedlist> <listitem> <simpara> @@ -1492,9 +1520,9 @@ </simpara> </listitem> </itemizedlist> - <para> - Changes in behaviour/new features to extensions: - </para> + <simpara> + Changes in extension behaviour, and new features: + </simpara> <itemizedlist> <listitem> <simpara> @@ -1511,7 +1539,8 @@ <listitem> <simpara> <link linkend="book.network">Network</link> - - now contains an extra "entries" indice, containing the TXT elements + - <function>dns_check_record</function> now returns an extra "entries" + index, containing the TXT elements. </simpara> </listitem> <listitem> @@ -1529,24 +1558,29 @@ <listitem> <simpara> <link linkend="book.oci8">OCI8</link> - - Calling <function>oci_close</function> on a persistent - connection, or on a variable that references a persistent - connection going out of scope, will now roll back any uncommitted - transaction. You should explicitly commit or rollback as needed. Setting - <link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics=On</link> - in &php.ini; gives the old behaviour. + - A call to <function>oci_close</function> on a persistent connection, or a + variable referencing a persistent connection going out of scope, will now + roll back any uncommitted transaction. To avoid unexpected behavior, + explicitly issue a commit or roll back as needed. The old behavior can be + enabled with the INI directive + <link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics</link>. + </simpara> + <simpara> + Database Resident Connection Pooling (DRCP) and Fast Application + Notification (FAN) are now supported. + </simpara> + <simpara> + Oracle External Authentication is now supported (except on Windows). </simpara> <simpara> - Supports Database Resident Connection Pooling (DRCP), Fast - Application Notification (FAN) support, Oracle External - Authentication (not supported on Windows). - <function>oci_bind_by_name</function> now supports SQLT_AFC (aka CHAR datatype). + The <function>oci_bind_by_name</function> function now supports SQLT_AFC + (aka the CHAR datatype). </simpara> </listitem> <listitem> <simpara> <link linkend="book.openssl">OpenSSL</link> - - There is now support for OpenSSL digest and cipher functions. It is also + - OpenSSL digest and cipher functions are now supported. It is also now possible to access the internal values of DSA, RSA and DH keys. </simpara> </listitem> @@ -1554,8 +1588,9 @@ <simpara> <link linkend="book.session">Session</link> - Sessions will no longer store session-files in <literal>"/tmp"</literal> - where <link linkend="ini.open-basedir">open_basedir</link> restrictions apply, - unless <literal>"/tmp"</literal> is explicitly added to the list of allowed paths. + when <link linkend="ini.open-basedir">open_basedir</link> restrictions + apply, unless <literal>"/tmp"</literal> is explicitly added to the list of + allowed paths. </simpara> </listitem> <listitem> @@ -1576,11 +1611,11 @@ <section xml:id="migration53.classes"> <title>New Classes</title> - <para> + <simpara> The following classes were introduced in PHP 5.3.0: - </para> + </simpara> - <para><link linkend="book.datetime">Date/Time</link>:</para> + <simpara><link linkend="book.datetime">Date/Time</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1594,7 +1629,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.phar">Phar</link>:</para> + <simpara><link linkend="book.phar">Phar</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1618,7 +1653,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.spl">SPL</link>:</para> + <simpara><link linkend="book.spl">SPL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1686,7 +1721,7 @@ <section xml:id="migration53.global-constants"> <title>New Global Constants</title> - <para>PHP Core:</para> + <simpara>PHP Core:</simpara> <itemizedlist> <listitem> <simpara> @@ -1780,7 +1815,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.curl">cURL</link>:</para> + <simpara><link linkend="book.curl">cURL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1789,7 +1824,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.image">GD</link>:</para> + <simpara><link linkend="book.image">GD</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1798,7 +1833,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.json">JSON</link>:</para> + <simpara><link linkend="book.json">JSON</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1852,7 +1887,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.ldap">LDAP</link>:</para> + <simpara><link linkend="book.ldap">LDAP</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1861,7 +1896,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.libxml">libxml</link>:</para> + <simpara><link linkend="book.libxml">libxml</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1870,7 +1905,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.pcre">PCRE</link>:</para> + <simpara><link linkend="book.pcre">PCRE</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -1879,7 +1914,7 @@ </listitem> </itemizedlist> - <para><link linkend="book.pcntl">PCNTL</link>:</para> + <simpara><link linkend="book.pcntl">PCNTL</link>:</simpara> <itemizedlist> <listitem> <simpara> @@ -2121,22 +2156,22 @@ <section xml:id="migration53.ini"> <title>Changes to INI file handling</title> - <para> - PHP 5.3.0 have significantly improved performance, parsing and - new features syntax features. - </para> + <simpara> + PHP 5.3.0 has significantly improved performance and parsing of INI files, + and adds several new syntax features. + </simpara> <itemizedlist> <listitem> <simpara> - The standard &php.ini; files have been re-organized, and renamed. - <literal>php.ini-development</literal> have settings thats recommded - for use in a development environments. <literal>php.ini-production</literal> - is configured to production environments. + The standard &php.ini; files have been re-organized and renamed. + <literal>php.ini-development</literal> contains settings recommded + for use in development environments. <literal>php.ini-production</literal> + contains settings recommended for use in production environments. </simpara> </listitem> <listitem> <simpara> - There is now support for special sections: + There is now support for two special sections: <literal>[PATH=/opt/httpd/www.example.com/]</literal> and <literal>[HOST=www.example.com]</literal>. Directives set in these sections cannot be overridden by user-defined INI files or at @@ -2146,32 +2181,35 @@ </listitem> <listitem> <simpara> - <literal>zend_extension_debug</literal> and <literal>zend_extension_ts</literal> - have been removed. Instead use the <literal>zend_extension</literal> - directive to load all Zend Extensions. + <literal>zend_extension_debug</literal> and + <literal>zend_extension_ts</literal> have been removed. Use the + <literal>zend_extension</literal> directive to load all Zend Extensions. </simpara> </listitem> <listitem> <simpara> <literal>zend.ze1_compatibility_mode</literal> has been removed. If this - INI directive is set to on, then an <constant>E_ERROR</constant> is + INI directive is set to On, an <constant>E_ERROR</constant> error is emitted at startup. </simpara> </listitem> <listitem> <simpara> It is now possible to use the full path to load modules using the - "<link linkend="ini.extension"><literal>extension</literal></link>" directive. + "<link linkend="ini.extension"><literal>extension</literal></link>" + directive. </simpara> </listitem> <listitem> <simpara> - <literal>"ini-variables"</literal> can now be used almost anywhere in a &php.ini; file. + <literal>"ini-variables"</literal> can now be used almost anywhere in a + &php.ini; file. </simpara> </listitem> <listitem> <simpara> - Runtime tightening of <literal>open_basedir</literal> restrictions is now possible. + Runtime tightening of <literal>open_basedir</literal> restrictions is now + possible. </simpara> </listitem> <listitem> @@ -2211,14 +2249,15 @@ </simpara> </listitem> </itemizedlist> - <para> + <simpara> The following new ini directives have been added: - </para> + </simpara> <itemizedlist> <listitem> <simpara> - <literal>user_ini.filename</literal> and <literal>user_ini.cache_ttl</literal> - for the new user initialization mechanism. + <literal>user_ini.filename</literal> and + <literal>user_ini.cache_ttl</literal> for the new .htaccess-style user INI + file mechanism. </simpara> </listitem> <listitem> @@ -2231,14 +2270,14 @@ <listitem> <simpara> Added <literal>request_order</literal>. - Allows controlling which exactly request options should be available in + Allows controlling which external variables will be available in <varname>$_REQUEST</varname>. </simpara> </listitem> </itemizedlist> - <para> - The following ini directives have changed default value: - </para> + <simpara> + The following ini directives have new default values: + </simpara> <itemizedlist> <listitem> <simpara> @@ -2266,8 +2305,9 @@ </listitem> <listitem> <simpara> - <classname>SplObjectStorage</classname> now has <classname>ArrayAccess</classname> - support. It is also now possible to store associative information with objects in + <classname>SplObjectStorage</classname> now has + <classname>ArrayAccess</classname> support. It is now also possible to + store associative information with objects in <classname>SplObjectStorage</classname>. </simpara> </listitem> @@ -2279,18 +2319,19 @@ </listitem> <listitem> <simpara> - <function>var_dump</function> outputs now includes private object members. + <function>var_dump</function> output now includes private object members. </simpara> </listitem> <listitem> <simpara> - <function>session_start</function> now returns &false; when the session startup fails. + <function>session_start</function> now returns &false; when session startup + fails. </simpara> </listitem> <listitem> <simpara> - <function>property_exists</function> now checks the existence of a property independent of - accessibility (like <function>method_exists</function>). + <function>property_exists</function> now checks the existence of a property + independent of accessibility (like <function>method_exists</function>). </simpara> </listitem> <listitem> @@ -2307,9 +2348,10 @@ </listitem> <listitem> <simpara> - The <link linkend="ref.dir">directory functions</link> <function>opendir</function>, - <function>scandir</function> and <function>dir</function> now use the default - context if no context is passed as an argument to them. + The <link linkend="ref.dir">directory functions</link> + <function>opendir</function>, <function>scandir</function>, and + <function>dir</function> now use the default stream context if no explicit + context is passed. </simpara> </listitem> <listitem> @@ -2322,23 +2364,16 @@ </listitem> <listitem> <simpara> - <function>getopt</function> accepts "long options" now on all platforms. - Optional values and <literal>=</literal> as seperator for shortopts are now supported. - </simpara> - </listitem> - <listitem> - <simpara> - <function>fopen</function> got a new mode option - (<literal>n</literal>), which passes will pass - <constant>O_NONBLOCK</constant> to the underlaying - <literal>syscall()</literal> call. + <function>getopt</function> now accepts "long options" on all platforms. + Optional values and <literal>=</literal> as a separator for short options + are now supported. </simpara> </listitem> <listitem> <simpara> - <function>opendir</function>, <function>dir</function> and - <function>scandir</function> functions will not use the default context - if no context argument is passed. + <function>fopen</function> has a new mode option (<literal>n</literal>), + which passes <constant>O_NONBLOCK</constant> to the underlying + <literal>open()</literal> system call. </simpara> </listitem> <listitem>