diff options
Diffstat (limited to 'README.UPDATE_5_2')
-rw-r--r-- | README.UPDATE_5_2 | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/README.UPDATE_5_2 b/README.UPDATE_5_2 deleted file mode 100644 index a2f35b7976..0000000000 --- a/README.UPDATE_5_2 +++ /dev/null @@ -1,178 +0,0 @@ -PHP 5.2 UPDATE INFO - -=============================== -Changes in PHP datetime support -=============================== - -Since PHP 5.1, there has been an extension named 'date' in the PHP core. This -is the new implementation of PHP's datetime support. Although it will attempt -to guess your system's timezone setting, you should set the timezone manually. -You can do this in any of three ways: - -1) in your php.ini using the date.timezone INI directive -2) on your system using the TZ environmental variable -3) from your script using the convenience function date_default_timezone_set() - -All supported timezones are listed in the PHP Manual at -http://www.php.net/manual/timezones.php. - -With the advent of PHP 5.2, there are object representations of the date and -timezone, named DateTime and DateTimeZone respectively. You can see the methods -and constants available to the new classes by running - -php --rc DateTime -php --rc DateTimeZone - -under PHP CLI. All methods map to existing procedural date functions. - -================================== -Items from the NEWS file explained -================================== - -- Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony) - - Some of the existing E_ERROR conditions have been converted to something that - you can catch with a user-defined error handler. If an E_RECOVERABLE_ERROR is - not handled, it will behave in the same way as E_ERROR behaves in all versions - of PHP. Errors of this type are logged as 'Catchable fatal error'. - - -- Changed E_ALL error reporting mode to include E_RECOVERABLE_ERROR. (Marcus) - - This change means that the value of the E_ALL error_reporting constant is now - 6143, where its previous value was 2047. If you are setting the error_reporting - mode from either the Apache config file or the .htaccess files, you will need - to adjust the value accordingly. The same applies if you use the numeric value - rather than the constant in your PHP scripts. - - -- Added support for constructors in interfaces to force constructor signature - checks in implementations. (Marcus) - - Starting with PHP 5.2, interfaces can have constructors. However, if you choose - to declare a constructor in an interface, each class implementing that interface - MUST include a constructor with a signature matching that of the base interface - constructor. By 'signature' we mean the parameter and return type definitions, - including any type hints and including whether the data is passed by reference - or by value. - - -- Changed __toString to be called wherever applicable. (Marcus) - - The magic method __toString() will now be called in a string context, that - is, anywhere an object is used as a string. When implementing your __toString() - method in a class, you should be aware that the script will terminate if - your function throws an exception. - - The PHP 5.0/5.1 fallback - returning a string that contains the object - identifier - has been dropped in PHP 5.2. It became problematic because - an object identifier cannot be considered unique. This change will mean - that your application is flawed if you have relied on the object identifier - as a return value. An attempt to use that value as a string will now result - in a catchable fatal error (see above). - - Even with __toString(), objects cannot be used as array indices or keys. We - may add built-in hash support for this at a later date, but for PHP 5.2 you - will need to either provide your own hashing or use the new SPL function - spl_object_hash(). - - -- Added RFC2397 (data: stream) support. (Marcus) - - The introduction of the 'data' URL scheme has the potential to lead to a - change of behaviour under Windows. If you are working with an NTFS - filesystem and making use of meta streams in your application, and if you - just happen to be using a file with the name 'data:' that is accessed without - any path information - it won't work any more. The fix is to use the 'file:' - protocol when accessing it. - - There is information about the RFC at http://www.faqs.org/rfcs/rfc2397.html. - - -- Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus) - - This useful option makes it possible to differentiate between standard - file operations on remote files, and the inclusion of remote files. While the - former is usually desirable, the latter can be a security risk if used naively. - Starting with PHP 5.2, you can allow remote file operations while - disallowing the inclusion of remote files in local scripts. In fact, this - is the default configuration. - - -- Dropped abstract static class functions. (Marcus) - - Due to an oversight, PHP 5.0 and 5.1 allowed abstract static functions in - classes. In PHP 5.2, only interfaces can have them. - - -- Removed extensions (Derick, Tony) - - The filepro and hwapi 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 on the basis of user demand. - - -- Added extensions (Rasmus, Derick, Pierre) - - The JSON extension implements the JavaScript Object Notation (JSON) - data interchange format. This extension is enabled by default. - - The Filter extension validates and filters data, and is designed for - use with insecure data such as user input. This extension is enabled - by default; the default mode RAW does not impact input data in any way. - - The Zip extension enables you to transparently read or write ZIP - compressed archives and the files inside them. - - Please refer to the PHP Manual for details. - - -- Improved memory manager and increased default memory limit (Dmitry) - - The new memory manager allocates less memory and works faster than the - previous incarnation. It allocates memory from the system in large blocks, - and then manages the heap by itself. The memory_limit value in php.ini is - checked, not for each emalloc() call (as before), but for actual blocks - requested from the system. This means that memory_limit is far more - accurate than it used to be, since the old memory manager didn't calculate - all the memory overhead used by the malloc library. - - Thanks to this new-found accuracy memory usage may appear to have increased, - although actually it has not. To accommodate this apparent increase, the - default memory_limit setting was also increased - from 8 to 16 megabytes. - - -- Changed priority of PHPRC environment variable on win32 (Dmitry) - - The PHPRC environment variable now takes priority over the path stored - in the Windows registry. - - -- Added notice when accessing return value from __get() in write mode (Marcus) - - The reason for this is that __get() only returns variables in read mode, and - it is therefore not possible to write to the returned variable. In previous - releases there was no effective way to detect incorrect usage. Starting from - PHP 5.2, an E_NOTICE will be emitted in this situation. - - WARNING: foreach() and functions that modify the internal array pointer will - now also trigger the same E_NOTICE, since modification requires that the - variable be accessed in write mode. To work around this, you should either - cast the returned value from __get() to an array, or use SPL's ArrayObject - instead of an array. - -- CLI SAPI no longer checks cwd for php.ini or the php-cli.ini file (Edin) - - In PHP 5.1.X an undocumented feature was added that made the CLI binary - check the current directory for PHP configuration file possibly leading to - unpredictable behavior due to an un-expected configuration file being - read. This functionality was removed in 5.2 and PHP will no longer search - CWD for the presence of the php.ini or the php-cli.ini files. - -- Added a notice when performing modulus 0 operation (Tony) - - In earlier versions of PHP performing integer % 0 did not emit any - warning messages, instead retuning an un-expected return value of false. - As of PHP 5.2 this operation will emit E_WARNING as is the case in all - other instance where division by zero is performed. -
\ No newline at end of file |