philip Mon Jul 19 10:28:17 2004 EDT
Modified files: /phpdoc/en/appendices migration5.xml Log: WS
http://cvs.php.net/diff.php/phpdoc/en/appendices/migration5.xml?r1=1.23&r2=1.24&ty=u Index: phpdoc/en/appendices/migration5.xml diff -u phpdoc/en/appendices/migration5.xml:1.23 phpdoc/en/appendices/migration5.xml:1.24 --- phpdoc/en/appendices/migration5.xml:1.23 Sun Jul 18 21:36:13 2004 +++ phpdoc/en/appendices/migration5.xml Mon Jul 19 10:28:16 2004 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.23 $ --> +<!-- $Revision: 1.24 $ --> <appendix id="migration5"> <title>Migrating from PHP 4 to PHP 5</title> @@ -24,68 +24,89 @@ pay attention to the following backward incompatible changes: </para> <itemizedlist> - <listitem><simpara> + <listitem> + <simpara> <function>strrpos</function> and <function>strripos</function> now use the entire string as a needle. - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> Illegal use of string offsets causes <constant>E_ERROR</constant> instead of <constant>E_WARNING</constant>. - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>array_merge</function> was changed to accept only arrays. If a non-array variable is passed, a <constant>E_WARNING</constant> will be thrown for every such parameter. Be careful because your code may start emitting <constant>E_WARNING</constant> out of the blue. - </simpara></listitem> - <listitem><simpara> - PATH_TRANSLATED server variable is no longer set implicitly under - Apache2 SAPI in contrast to the situation in PHP 4, where it is set to - the same value as the SCRIPT_FILENAME server variable when it is not - populated by Apache. This change was made to comply with the <ulink + </simpara> + </listitem> + <listitem> + <simpara> + PATH_TRANSLATED server variable is no longer set implicitly under + Apache2 SAPI in contrast to the situation in PHP 4, where it is set to + the same value as the SCRIPT_FILENAME server variable when it is not + populated by Apache. This change was made to comply with the <ulink url="&url.cgispecs;">CGI specification</ulink>. Please refer to <ulink url="&url.php.bugs;23610">bug #23610</ulink> for further information. - </simpara></listitem> - <listitem><simpara> - The <constant>T_ML_CONSTANT</constant> constant is no longer defined by - the <link linkend="ref.tokenizer">Tokenizer</link> extension. If - error_reporting is set to <constant>E_ALL</constant>, PHP will generate a - notice. Although the <constant>T_ML_CONSTANT</constant> was never used - at all, it was defined in PHP 4. In both PHP 4 and PHP 5 // and /* */ - are resolved as the <constant>T_COMMENT</constant> constant. However the - PHPDoc style comments /** */ ,which starting PHP 5 are parsed by PHP, are - recognized as <constant>T_DOC_COMMENT</constant>. - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> + The <constant>T_ML_CONSTANT</constant> constant is no longer defined by + the <link linkend="ref.tokenizer">Tokenizer</link> extension. If + error_reporting is set to <constant>E_ALL</constant>, PHP will + generate a notice. Although the <constant>T_ML_CONSTANT</constant> was + never used at all, it was defined in PHP 4. In both PHP 4 and PHP 5 + // and /* */ are resolved as the <constant>T_COMMENT</constant> + constant. However the PHPDoc style comments /** */ ,which starting PHP + 5 are parsed by PHP, are recognized as + <constant>T_DOC_COMMENT</constant>. + </simpara> + </listitem> + <listitem> + <simpara> $_SERVER should be populated with argc and argv if <link - linkend="ini.variables-order">variables_order</link> includes "S". If + linkend="ini.variables-order">variables_order</link> includes "S". If you have specifically configured your system to not create $_SERVER, then of course it shouldn't be there. The change was to always make argc and argv available in the CLI version regardless of the <link - linkend="ini.variables-order">variables_order</link> setting. As in, + linkend="ini.variables-order">variables_order</link> setting. As in, the CLI version will now always populate the global $argc and $argv variables. - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> An object with no properties is no longer considered "empty". - </simpara></listitem> - <listitem><simpara> - In some cases classes must be declared before used. It only happens only - if some of the new features of PHP 5 are used. Otherwise the behaviour is - the old. - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> + In some cases classes must be declared before used. It only happens + only if some of the new features of PHP 5 are used. Otherwise the + behaviour is the old. + </simpara> + </listitem> + <listitem> + <simpara> <function>get_class</function> starting PHP 5 returns the name of the class as it was declared which may lead to problems in older scripts that rely on the previous behaviour (the class name was lowercased). A possible solution is to search for <function>get_class</function> in all your scripts and use <function>strtolower</function>. - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ip2long</function> now returns FALSE when an invalid IP address is passed as argument to the function, and no longer <literal>-1</literal>. - </simpara></listitem> + </simpara> + </listitem> </itemizedlist> <para> @@ -223,308 +244,458 @@ </para> <para>Arrays:</para> <itemizedlist> - <listitem><simpara> + <listitem> + <simpara> <function>array_combine</function> - Creates an array by using one array for keys and another for its values - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>array_diff_uassoc</function> - Computes the difference of arrays with additional index check which is performed by a user supplied callback function - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>array_udiff</function> - Computes the difference of arrays by using a callback function for data comparison - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>array_udiff_assoc</function> - Computes the difference of arrays with additional index check. The data is compared by using a callback function - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>array_udiff_uassoc</function> - Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>array_walk_recursive</function> - Apply a user function recursively to every member of an array - </simpara></listitem> + </simpara> + </listitem> </itemizedlist> <para>InterBase:</para> <itemizedlist> - <listitem><simpara> + <listitem> + <simpara> <function>ibase_affected_rows</function> - Return the number of rows that were affected by the previous query - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_backup</function> - Initiates a backup task in the service manager and returns immediately - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_commit_ret</function> - Commit a transaction without closing it - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_db_info</function> - Request statistics about a database - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_drop_db</function> - Drops a database - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_errcode</function> - Return an error code - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_free_event_handler</function> - Cancels a registered event handler - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_gen_id</function> - Increments the named generator and returns its new value - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_maintain_db</function> - Execute a maintenance command on the database server - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_name_result</function> - Assigns a name to a result set - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_num_params</function> - Return the number of parameters in a prepared query - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_param_info</function> - Return information about a parameter in a prepared query - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_restore</function> - Initiates a restore task in the service manager and returns immediately - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_rollback_ret</function> - Rollback transaction and retain the transaction context - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_server_info</function> - Request statistics about a database - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_service_attach</function> - Connect to the service manager - </simpara></listitem> - <listitem><simpara> - <function>ibase_service_detach</function> - Disconnect from the service manager - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> + <function>ibase_service_detach</function> - Disconnect from the + service manager + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_set_event_handler</function> - Register a callback function to be called when events are posted - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ibase_wait_event</function> - Wait for an event to be posted by the database - </simpara></listitem> + </simpara> + </listitem> </itemizedlist> <para>iconv:</para> <itemizedlist> - <listitem><simpara> + <listitem> + <simpara> <function>iconv_mime_decode</function> - Decodes a MIME header field - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>iconv_mime_decode_headers</function> - Decodes multiple MIME header fields at once - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>iconv_mime_encode</function> - Composes a MIME header field - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>iconv_strlen</function> - Returns the character count of string - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>iconv_strpos</function> - Finds position of first occurrence of a needle within a haystack - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>iconv_strrpos</function> - Finds the last occurrence of a needle within the specified range of haystack - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>iconv_substr</function> - Cut out part of a string - </simpara></listitem> + </simpara> + </listitem> </itemizedlist> <para>Streams:</para> <itemizedlist> - <listitem><simpara> + <listitem> + <simpara> <function>stream_copy_to_stream</function> - Copies data from one stream to another - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>stream_get_line</function> - Gets line from stream resource up to a given delimiter - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>stream_socket_accept</function> - Accept a connection on a socket created by <function>stream_socket_server</function> - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>stream_socket_client</function> - Open Internet or Unix domain socket connection - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>stream_socket_get_name</function> - Retrieve the name of the local or remote sockets - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>stream_socket_recvfrom</function> - Receives data from a socket, connected or not - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>stream_socket_sendto</function> - Sends a message to a socket, whether it is connected or not - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>stream_socket_server</function> - Create an Internet or Unix domain server socket - </simpara></listitem> + </simpara> + </listitem> </itemizedlist> <para>Other:</para> <itemizedlist> - <listitem><simpara> + <listitem> + <simpara> <function>convert_uudecode</function> - decode a uuencoded string - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>convert_uuencode</function> - uuencode a string - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>curl_copy_handle</function> - Copy a cURL handle along with all of it's preferences - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>dba_key_split</function> - Splits a key in string representation into array representation - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>dbase_get_header_info</function> - Get the header info of a dBase database - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>dbx_fetch_row</function> - Fetches rows from a query-result that had the DBX_RESULT_UNBUFFERED flag set - </simpara></listitem> - <listitem><simpara> - <function>fbsql_set_password</function> - Change the password for a given user - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> + <function>fbsql_set_password</function> - Change the password for a + given user + </simpara> + </listitem> + <listitem> + <simpara> <function>file_put_contents</function> - Write a string to a file - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ftp_alloc</function> - Allocates space for a file to be uploaded - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>get_declared_interfaces</function> - Returns an array of all declared interfaces - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>get_headers</function> - Fetches all the headers sent by the server in response to a HTTP request - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>headers_list</function> - Returns a list of response headers sent (or ready to send) - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>http_build_query</function> - Generate URL-encoded query string - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>idate</function> - Format a local time/date as integer - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>image_type_to_extension</function> - Get file extension for image-type returned by <function>getimagesize</function>, <function>exif_read_data</function>, <function>exif_thumbnail</function>, <function>exif_imagetype</function> - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>imagefilter</function> - Applies Filter an image using a custom angle - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>imap_getacl</function> - Gets the ACL for a given mailbox - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>ldap_sasl_bind</function> - Bind to LDAP directory using SASL - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>mb_list_encodings</function> - Returns an array of all supported encodings - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>pcntl_getpriority</function> - Get the priority of any process - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>pcntl_wait</function> - Waits on or returns the status of a forked child as defined by the waitpid() system call - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>pg_version</function> - Returns an array with client, protocol and server version (when available) - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>php_check_syntax</function> - Check the syntax of the specified file - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>php_strip_whitespace</function> - Return source with stripped comments and whitespace - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>proc_nice</function> - Change the priority of the current process - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>pspell_config_data_dir</function> - Change location of language data files - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>pspell_config_dict_dir</function> - Change location of the main word list - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>setrawcookie</function> - Send a cookie with no url encoding of the value - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>snmp_read_mib</function> - Reads and parses a MIB file into the active MIB tree - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>sqlite_fetch_column_types</function> - Return an array of column types from a particular table - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>str_split</function> - Convert a string to an array - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>strpbrk</function> - Search a string for any of a set of characters - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>substr_compare</function> - Binary safe optionally case insensitive comparison of two strings from an offset, up to length characters - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <function>time_nanosleep</function> - Delay for a number of seconds and nano seconds - </simpara></listitem> + </simpara> + </listitem> </itemizedlist> <note> <para> @@ -542,30 +713,40 @@ list of them: </para> <itemizedlist> - <listitem><simpara> - mail.force_extra_parameters - Force the addition of the specified - parameters to be passed as extra parameters to the sendmail binary. These - parameters will always replace the value of the 5th parameter to - <function>mail</function>, even in safe mode - </simpara></listitem> - <listitem><simpara> - <link linkend="ini.register-long-arrays">register_long_arrays</link> - - allow/disallow PHP to register the deprecated long $HTTP_*_VARS - </simpara></listitem> - <listitem><simpara> + <listitem> + <simpara> + mail.force_extra_parameters - Force the addition of the specified + parameters to be passed as extra parameters to the sendmail binary. + These parameters will always replace the value of the 5th parameter to + <function>mail</function>, even in safe mode + </simpara> + </listitem> + <listitem> + <simpara> + <link linkend="ini.register-long-arrays">register_long_arrays</link> - + allow/disallow PHP to register the deprecated long $HTTP_*_VARS + </simpara> + </listitem> + <listitem> + <simpara> <link linkend="ini.session.hash-function">session.hash_function</link> - select a hash function (MD5 or SHA-1) - </simpara></listitem> - <listitem><simpara> + </simpara> + </listitem> + <listitem> + <simpara> <link - linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link> + linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link> - define how many bits are stored in each character when converting the binary hash data to something readable (from 4 to 6) - </simpara></listitem> - <listitem><simpara> - <link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link> - - Enable compatibility mode with Zend Engine 1 (PHP 4) - </simpara></listitem> + </simpara> + </listitem> + <listitem> + <simpara> + <link linkend="ini.zend.ze1-compatibility-mode">zend.ze1_compatibility_mode</link> + - Enable compatibility mode with Zend Engine 1 (PHP 4) + </simpara> + </listitem> </itemizedlist> </section>