5.4.0 |
Изменено: Если абстрактный класс
определяет сигнатуру для конструктора, то она будет принудительно применяться.
|
5.3.3 |
Изменено: Методы с тем же именем, что и последний элемент
пространства имен
класса больше не будет рассматриваться как конструктор. Это изменение не будет
влиять на классы, не входящие в пространства имен.
|
5.3.0 |
Изменено: Больше не требуется, чтобы классы, реализующие интерфейсы с методами,
которые имеют значения по умолчанию в прототипе, соответствовали значениям
по умолчанию в интерфейсе.
|
5.3.0 |
Изменено: Теперь стало возможным ссылаться на класс, используя переменную (например,
echo $classname::constant;).
Значение переменной не может быть ключевым словом (например, self,
parent или static).
|
5.3.0 |
Изменено: Ошибка E_WARNING происходит, если
магические перегруженные
методы задекларированы как статические.
Это также усиливает требование, что эти методы должны быть публичными.
|
5.3.0 |
Изменено: До 5.3.0, исключения в функции
__autoload() не могли быть
перехвачены в блоке catch и
приводили к фатальной ошибке. Сейчас исключения в функции __autoload
могут быть перехвачены в блоке catch,
но с одной оговоркой. Если перехватывается пользовательское исключение, то класс,
обрабатывающий это исключение, должен быть доступен. Функция __autoload может быть
использована рекурсивно для автозагрузки пользовательского
класса обработки исключения.
|
5.3.0 |
Добавлено: Метод __callStatic.
|
5.3.0 |
Добавлено: Поддержка heredoc
и nowdoc
для констант и определений свойств класса.
Примечание: Значение heredoc должны следовать тем же правилам, что и строки в двойных кавычках
(например, без переменных внутри).
|
5.3.0 |
Добавлено: Позднее статическое связывание.
|
5.3.0 |
Добавлено: метод __invoke().
|
5.2.0 |
Изменено: Метод __toString()
вызывался только когда он напрямую комбинировался с
echo() или print().
Сейчас он вызывается в любом контексте строки (например, в
printf() с модификатором %s), но не
в других типах контекста (например, с модификатором %d).
С PHP 5.2.0, преобразование объектов без метода __toString
в строку выдает ошибку уровня E_RECOVERABLE_ERROR.
|
5.1.3 |
Изменено: В предыдущих версиях PHP 5 использование var
считалось устаревшим и выдавало ошибку E_STRICT.
Сейчас это не считается устаревшим, поэтому ошибка больше не выдается.
|
5.1.0 |
Изменено: Статический метод __set_state()
теперь вызывается для классов, экспортируемых функцией var_export().
|
5.1.0 |
Добавлены: методы __isset()
и __unset().
|