PHP5 без совместимости с PHP4

PHP5 без совместимости с PHP4

Это противоположный вопросВот этот. Моя цель заключается в том, что нет необходимости иметь совместимость с PHP4, когда вы пишете только код PHP5. Это вообще бесполезно, и из-за различий между объектными моделями в этих двух версиях это должно наказывать за производительность интерпретатора (или я не прав?).

Итак, мои вопросы:

  • можно ли перекомпилировать PHP5 без ретросовместимости с PHP4 или отключить ее каким-либо другим способом для повышения производительности?
  • Если это невозможно, есть ли где-то проект, направленный на достижение этой цели?

решение1

Это невозможно, потому что в этом нет необходимости; все (за исключениемнебольшое количество предметов) в PHP4 по сути является подмножеством PHP5. Поэтому разработчикам PHP не нужно было отдельно создавать "режим совместимости", чтобы PHP5 мог запускать код PHP4. Это как если бы NBA внезапно изменила размер баскетбольного кольца, увеличив его на 2 дюйма в диаметре, оно бы автоматически стало«обратная совместимость»с существующими баскетбольными мячами.

Все, что должно было быть удалено в PHP5, уже было объявлено устаревшим в PHP4, поэтому правильно написанные скрипты PHP4 должны работать в PHP5 с небольшими изменениями. Самые большие «потери» помимо устаревших функций PHP3 — это расширения, которые больше не включены в стандартную установку PHP5.

И новая объектная модель заменила старую из PHP4, но помимо изменения особенностей копирования объектов, различия между объектными моделями в основном в реализации. Так что, опять же, большинство скриптов PHP4, скорее всего, будут работать в PHP5 с небольшими изменениями. И нет явной функции обратной совместимости, которую можно было бы отключить.

Так что это не та область оптимизации, о которой стоит беспокоиться. Вы бы добились большего, оптимизировав свой код PHP5 и используяMemcachedилиБТР. И если вы хотите, чтобы PHP отклонял использование устаревшего кода (чтобы сделать ваш кодна будущееа не как оптимизация сервера), то просто используйте E_STRICTнастройку сообщения об ошибках.

Связанный контент