Які зміни в коді необхідні для того, щоб зробити Joomla 3.5 розширення PHP7 сумісним?


9

(Будь ласка, потерпіть мене, мені дуже шкода, але я просто не можу це швидко запитати.)

Усі ми майже не чекаємо стабільної версії Joomla 3.5.0, чи не так?

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

Найбільшою особливістю серед усіх помітних удосконалень , безумовно, буде можливість роботи на найновішому PHP7, що призводить до майже 50% швидшого виконання та майже в 4 рази зменшення споживання пам'яті ( джерело ).

Завдяки внутрішнім змінам PHP7 (введення підказки типу та зарезервовані тепер слова "int", "string" та "float") це призведе до перерви сумісності назад для численних розширень, навіть незважаючи на те, що саме ядро ​​Joomla 3.5.0 буде бути повністю сумісним з PHP7.
( Джерело: Перерва на сумісність із новин RC4 Release News :)

Ми маємо обіцянку зворотної сумісності, щоб переконатися, що код не раптово порушиться. Однак є обставини, які можуть змусити нас більше не виконувати цю обіцянку. У 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.

Так ... Я серйозно розглядаю можливість ручного оновлення деяких моїх улюблених розширень адміністратора для підтримки PHP7 , тому я можу продовжувати використовувати їх на нових v3.5. Для тих, хто користується популярністю та активно підтримується (наприклад, Akeeba, JCE тощо). Я буду чекати оновлень розробника, сподіваючись, що вони надійдуть досить швидко. Але для тих, хто більше не підтримується активно (є багато з них, які я продовжую використовувати протягом століть, просто не вимагайте у мене деталей, будь ласка), мені доведеться оновити їх самостійно.

І ... Нарешті, моє запитання: чи не знаєте ви, які зміни в коді потрібні для того, щоб зробити якесь розширення PHP7 сумісним?
Я маю на увазі, окрім змін, які повинна була зазнати сама команда Joomla для оновлення пакету 1.3 ...


1
Я думаю, що більшість цієї публікації можна редагувати / видаляти. Основна увага питання - "Які зміни в коді необхідні, щоб Joomla 3.5 розширення PHP7 було сумісним?" Хоча я вважаю, що включені посилання на відомі зміни є важливими.
TryHarder

1
@moomoochoo - Спасибі за зміну звання людини ... Я також вважаю, що посилання важливі для широкої аудиторії ...
Mikan

1
Якщо будь-яке з розширень, якими ви користуєтесь, використовує завантажувач ioncube, то, можливо, доведеться почекати деякий час. forum.ioncube.com/… У цій ситуації змінити розширення не допоможе.
TryHarder

@oooooo - Дякую, що наголосив на цьому, добре знати, що ioncube все ще незручний з найновішим PHP, хоча моя основна увага приділяється всім тим маленьким розширенням помічників, з якими ми досвідчені адміністратори, не уявляючи наш інструментарій, і який навряд чи використовують цей рівень захисту ліцензії.
Мікан

1
Хоча це може не висвітлити ваш фокус, я сподіваюся, що він доречний і корисний для інших :)
TryHarder

Відповіді:


5

Добре, що спочатку. Joomla 3.5.0 stable вийде завтра наступної понеділка :)

Я роблю крок назад і спочатку беру резервну копію вашого сайту і встановлюю його на субдомен або ваш localhost, запускаючи PHP 7.0.4.

Після закінчення ретельно протестуйте його.

Що стосується розширень, то I Nicolas з Akeeba вже підтримує PHP 7, а інші популярні розширення, швидше за все, вже підтримують його.

Я б утримався від будь-яких змін в основному і чекав, коли розробник оновиться, як і коли вони можуть. Ви знаєте, що свердло "core hack" .... це область "no go".

Що стосується змін, пов'язаних із невідповідністю, зверніться до наступного з офіційного веб-сайту PHP:

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

В цілому, можливо, почекайте пару місяців, поки PHP 7 трохи стабільніше. Він все ще відносно новий, і там, безумовно, будуть якісь великі клопи.

Сподіваюсь, це допомагає


Безумовно, це допомагає ... Спасибі людина ... Не можу чекати, поки завтра ;-)
Mikan

Здається, вони знову перенесли Стабільний :-( twitter.com/viktorvogel/statuses/710007837850791937 , але замість цього сьогодні випустили RC4 ... О, добре ...
Mikan

2
@MirkoMikan - Стайня наступної понеділка зараз
Лодж

2

Це НЕ відповідь на моє запитання, я просто хотів поділитися посиланням, яке я щойно знайшов і яке може бути корисним для оновлення нашого Joomlas до 3,5:

Існує Google Doc " Список Joomla! Розширення, що підтримують Joomla! 3.5 та PHP 7 ", який є загальнодоступним та підтримується громадою (ми говоримо про Joomla, зрештою :-)).

Я знаю, що я мав би поставити це як коментар, а не як відповідь, але я думаю, що це більш помітно таким чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.