Какие изменения в коде необходимы для расширения Joomla 3.5 для PHP7?

(Прошу вас, пожалуйста, извините, но я просто не могу задать это быстро.)

Мы все едва ли ожидаем Стабильную версию Joomla 3.5.0, не так ли?

RC3 Joomla 3.5.0 Stable был выпущен только в понедельник, 21 марта 2016 года ), после более чем года создания и многочисленные изменения целей и отсрочки ETA.

Самая большая особенность среди всех остальных заметные улучшения , безусловно, будет возможность запускаться на новейшем PHP7, что приведет к почти на 50% быстрее выполнения и почти в 4 раза уменьшит потребление памяти ( источник ).

В связи с внутренними изменениями в PHP7 (введение намеков типа и теперь зарезервированных слов â € œintâ €, â € œstring и â € œfloat), это приведет к обратному разрыву совместимости для многочисленных расширений, хотя Joomla Ядро 3.5.0 будет полностью совместимо с PHP7.
( источник: обратная совместимость от Новости выпуска RC4 :)

  

У нас есть обещание обратной совместимости, чтобы убедиться, что код не внезапно сломается. Однако есть обстоятельства, которые могут заставить нас больше не выполнять это обещание. В Joomla 3.5 это так. Из-за изменений в PHP 7 нам пришлось переименовать класс String в StringHelper, иначе Joomla! не может работать на PHP 7. Это очень незначительные изменения, и мы не ожидаем от него каких-либо проблем. Для тех, кто интересуется, вы можете узнать больше об этом в Обновить до пакета String 1.3 .

Я очень внимательно следил за ее разработкой и тестировал J! 3.5.0 на PHP7 SiteGround с момента ее первой бета-версии до новейшего RC4, и я могу подтвердить, что улучшения заметны и замечательны.

НО ... Сейчас я очень обеспокоен Насколько быстро мы увидим, что все расширения полностью обновлены для поддержки PHP7? Есть большая вероятность, что потребуется несколько месяцев пока мы не сможем свободно запускать наши сайты на новом PHP, настроенном, как сейчас, на v3.4.8.

SO ... Я серьезно рассматриваю возможность обновления некоторых моих любимых расширений администратора для поддержки PHP7 , поэтому я могу продолжать использовать их на новом v3.5. Для тех, кто пользуется популярностью и активно поддерживается (например, Akeeba, JCE и т. Д.), Я буду ждать обновлений разработчика, надеясь, что они придут довольно быстро. Но для тех, которые больше не активно поддерживаются (есть многие из них, которые я использую целую вечность, просто не спрашивайте меня о деталях, пожалуйста) Мне придется обновить их самостоятельно.

И ... Наконец-то мой вопрос: Вы знаете, какие изменения в коде требуются, чтобы сделать некоторое расширение PHP7 совместимым?
Я имею в виду, кроме изменений, которые команда Joomla сама должна была пройти за Обновление до пакета String 1.3 ...

10 голосов | спросил Mikan 16 MaramWed, 16 Mar 2016 02:17:26 +03002016-03-16T02:17:26+03:0002 2016, 02:17:26

2 ответа


6

Хорошо сначала первое. Joomla 3.5.0 stable будет выпущен завтра следующий понедельник :)

Я делаю шаг назад и, во-первых, делаю резервную копию вашего сайта и устанавливаю его на субдомен или ваш localhost, используя PHP 7.0.4.

После завершения тщательно проверьте его.

Что касается расширений, я Nicolas из Akeeba уже поддерживает PHP 7, и другие популярные расширения, скорее всего, уже его поддерживают.

Я бы воздержался от каких-либо основных изменений самостоятельно и дождался, когда разработчик обновится, когда и когда сможет. Вы знаете упражнение «core hack» .... это «нет».

Что касается изменений обратной совместимости, посмотрите на официальном веб-сайте PHP:

http://php.net/manual/en/migration70.incompatible.php

В целом, может быть, подождите несколько месяцев, пока PHP 7 не станет более стабильным. Это по-прежнему относительно новое, и там наверняка будут какие-то большие ошибки.

Надеюсь, что это поможет

ответил Lodder 16 MaramWed, 16 Mar 2016 02:49:31 +03002016-03-16T02:49:31+03:0002 2016, 02:49:31
2

Это НЕ ответ на мой вопрос, я просто хотел поделиться ссылкой, которую я только что нашел, и которая может быть полезной при обновлении нашего Joomlas до 3.5:

Существует Google Doc " Список поддерживающих расширение Joomla! Joomla! 3.5 и PHP 7 », который является общедоступным и поддерживается сообществом (мы говорим о Joomla, в конце концов :-)).

Я знаю, что должен был помещать его как комментарий, а не как ответ, но я думаю, что он более заметен таким образом.

ответил Mikan 24 MarpmThu, 24 Mar 2016 12:18:33 +03002016-03-24T12:18:33+03:0012 2016, 12:18:33

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132