New features
PHP 5.3.0 offers a wide range of new features:
- Support for namespaces has been added.
- Support for Late Static Bindings has been added.
- Support for jump labels (limited goto) has been added.
- Support for native Closures (Lambda/Anonymous functions) has been added.
- There are two new magic methods, __callStatic() and __invoke().
- Nowdoc syntax is now supported, similar to Heredoc syntax, but with single quotes.
- It is now possible to use Heredocs to initialize static variables and class properties/constants.
- Heredocs may now be declared using double quotes, complementing the Nowdoc syntax.
- Constants can now be declared outside a class using the const keyword.
- The ternary operator now has a shorthand form: ?:.
- The HTTP stream wrapper now considers all status codes from 200 to 399 to be successful.
-
Dynamic access to static methods is now possible:
<?php
class C {
public static $foo = 123;
}
$a = "C";
echo $a::$foo;
?>The above example will output:
123
-
Exceptions can now be nested:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException("Exceptional", 112);
} catch (Exception $e) {
/* Note the use of the third parameter to pass $e
* into the RuntimeException. */
throw new RuntimeException("Rethrowing", 911, $e);
}
?> - A garbage collector for circular references has been added, and is enabled by default.
- The mail() function now supports logging of sent email via the mail.log configuration directive. (Note: This only applies to email sent through this function.)
- Что нового в PHP 5.3.x ?
- Обратно несовместимые изменения
- Новые возможности
- Изменения в поддержке Windows
- Изменения в модулях SAPI
- Устаревшие функции и возможности в PHP 5.3.x
- Функции и возможности, которые ранее считались устаревшими, а теперь снова возвращены в PHP 5.3.x
- Новые параметры
- Новые функции
- Новые обертки потоков
- Новые фильтры потоков
- Новые константы классов
- Новые методы
- Новые расширения
- Удаленные расширения
- Другие изменения в расширениях
- Новые классы
- Новые глобальные константы
- Изменения в работе с INI-файлами
- Другие изменения
Коментарии
Can someone explain the "circular references" please?