Учебник РНР (перевод Alexandr Pyramidin) Размещено на PHPClub.Net
Назад Приложение B. Переход от PHP 3 к PHP 4 Вперёд

Отсутствующие функции

В то время как в PHP 4 появляются многочисленные новые возможности, функции и расширения, вы обнаружите также отсутствие некоторых функций версии 3.
Небольшое количество функций ядра исчезло, поскольку они не работают с новой схемой разделения разбора и выполнения кода, введённой в 4 версии Zend-машиной.
Другие функции и даже целые расширения стали не нужны, так как новые функции и расширения делают то же самое быстрее и/или более общими способами.
Некоторые функции просто ещё не перенесены, и, наконец, некоторые функции или расширения отсутствуют из-за лицензионных противоречий.

Функции, отсутствующие из-за концептуальных изменений

Поскольку PHP 4 теперь разделил разбор и выполнение кода, более невозможно изменять поведение разборщика (внедрённого теперь в Zend-машину) на этапе выполнения. Поэтому функция short_tags() больше не существует. Вы можете изменять поведение разборщика, устанавливая соответствующие значения в файле php.ini.

Связанный интерфейс отладки PHP 3 теперь не является частью PHP 4. Имеются дополнения сторонних разработчиков для Zend-машины, которые имеют сходную функциональность.

Не рекомендуемые функции и расширения

Расширений Adabas и Solid для БД больше нет. Вместо этого используется долгожитель - расширение унифицированного ODBC.

Изменён статус unset()

unset(), хотя и доступна, реализована как конструкция языка, а не как функция.

Это не имеет никаких последствий для поведения unset(), но тестирование на "unset" с использованием function_exists() вернёт FALSE, как это было бы для других конструкций языка, которые выглядят как функции, вроде echo().

Другое очень практичное изменение состоит в том, что больше невозможно вызывать unset() неявным образом, то есть $func="unset"; $func($somevar) больше не будет работать.


Назад Оглавление Вперёд
empty("0")Вверх Расширения PHP 3