Рекурсивный акроним словосочетания «PHP: Hypertext Preprocessor»
Добро пожаловать на форум PHP программистов!
Новые возможности
Вернуться к: Переход c PHP 5.2.x на PHP 5.3.x
PHP 5.3.0 предлагает широкий спектр новых возможностей:
- Добавлена поддержка пространств имен.
- Добавлена поддержка позднего статического связывания.
- Добавлена поддержка меток перехода (ограниченный goto).
- Добавлена поддержка нативных замыканий (closures) (Lambda/Anonymous функции).
- Появились два магических метода: __callStatic() и __invoke().
- Появилась поддержка синтаксиса Nowdoc, подобный Heredoc, но с одинарными кавычками.
- Теперь возможно использовать Heredoc для инициализации статических переменных и свойств/констант классов.
- Heredoc теперь может быть объявлен используя двойные кавычки, дополняющие синтаксис Nowdoc.
- Константы теперь могут быть объявлены вне класса, используя ключевое слово const.
- У тернарного оператора есть теперь сокращенный вид: ?:.
- Обертка (wrapper) HTTP-потока стала воспринимать коды статуса от 200 до 399 как успешные.
-
Стал возможен динамический доступ к статическим методам:
<?php
class C {
public static $foo = 123;
}
$a = "C";
echo $a::$foo;
?>Результат выполнения данного примера:
123
-
Исключения теперь могут быть вложенными:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException("Exceptional", 112);
} catch (Exception $e) {
/* Обратите внимание, что для передачи $e
* в RuntimeException используется третий параметр. */
throw new RuntimeException("Rethrowing", 911, $e);
}
?> - Добавлен сборщик мусора для циклических ссылок. Он включен по умолчанию.
- Функция mail() теперь поддерживает журналирование отправки письма с помощью директивы mail.log. (Примечание: это применимо только для писем, отправленных этой функцией.)
Вернуться к: Переход c PHP 5.2.x на PHP 5.3.x