Jakie zmiany w kodzie są wymagane, aby rozszerzenia Joomla 3.5 były zgodne z PHP7?

9

(Proszę o wyrozumiałość, przepraszam, ale nie mogę tak szybko zapytać.)

Wszyscy prawie nie czekamy na stabilną wersję Joomla 3.5.0, prawda?

RC3 RC4 została wydana dzisiaj i jest tylko kwestią dni, zanim zostanie ostatecznie wypuszczona ( Joomla 3.5.0 Stable została właśnie wydana w poniedziałek, 21 marca 2016 r. ), Po ponad roku w dokonywaniu i licznych zmianach bramek i przesunięciach ETA.

Największą cechą, spośród wszystkich innych zauważalnych ulepszeń , na pewno będzie możliwość uruchomienia na najnowszym PHP7, co spowoduje prawie 50% szybsze wykonanie i prawie 4-krotne zmniejszenie zużycia pamięci ( źródła ).

Ze względu na wewnętrzne zmiany w PHP7 (wprowadzenie podpowiedzi typu i zarezerwowanych teraz słów „int”, „string” i „float”) spowoduje to przerwanie kompatybilności wstecznej dla wielu rozszerzeń, mimo że sam rdzeń Joomla 3.5.0 będzie być w pełni kompatybilny z PHP7.
( źródło: Wsteczna przerwa w kompatybilności z RC4 Release News :)

Mamy obietnicę zgodności z poprzednimi wersjami, aby upewnić się, że kod nie zostanie nagle uszkodzony. Istnieją jednak okoliczności, które mogą zmusić nas do nie dotrzymywania tej obietnicy. Tak jest w Joomla 3.5. Z powodu zmian w PHP 7 musieliśmy zmienić nazwę klasy String na StringHelper, w przeciwnym razie Joomla! nie można uruchomić na PHP 7. Jest to bardzo niewielka zmiana i nie oczekujemy od niej żadnych problemów. Zainteresowanych możesz przeczytać więcej na ten temat w pakiecie Update to String 1.3 .

Z uwagą śledziłem jej rozwój i testowałem J! 3.5.0 na PHP7 SiteGround od jej pierwszych wersji Betas do najnowszej wersji RC4, i mogę potwierdzić, że ulepszenia są zauważalne i świetne.

ALE ... W tej chwili jestem bardzo zaniepokojony Jak szybko zobaczymy wszystkie rozszerzenia w pełni zaktualizowane do obsługi PHP7? Istnieje duża szansa, że ​​minie wiele miesięcy, zanim będziemy mogli swobodnie uruchamiać nasze strony na nowym PHP skonfigurowanym tak, jak teraz w wersji 3.4.8.

SO ... Poważnie zastanawiam się nad ręczną aktualizacją niektórych moich ulubionych rozszerzeń administracyjnych, aby obsługiwały PHP7 , więc mogę nadal używać ich w nowej wersji 3.5. Dla tych, które są popularne i aktywnie wspierane (takie jak Akeeba, JCE itp.), Poczekam na aktualizacje programistów, mając nadzieję, że pojawią się dość szybko. Ale w przypadku tych, którzy nie są już aktywnie wspierani (jest wiele z nich, których używam od wieków, po prostu nie pytaj mnie o szczegóły, proszę) będę musiał sam je zaktualizować.

ORAZ ... Moje pytanie w końcu brzmi: czy zdarza ci się wiedzieć, jakie zmiany w kodzie są wymagane, aby niektóre rozszerzenia PHP7 były kompatybilne?
Mam na myśli, oprócz zmian, które sam zespół Joomla musiał przejść w celu aktualizacji pakietu 1.3 do String ...

Mikan
źródło
1
Myślę, że większość tego wpisu można edytować / usuwać. Głównym celem pytania jest „Jakie zmiany w kodzie są wymagane, aby rozszerzenia Joomla 3.5 były kompatybilne z PHP7?” Chociaż myślę, że zawarte odniesienia do znanych zmian są ważne.
TryHarder
1
@moomoochoo - Dzięki dla człowieka zmieniającego tytuł ... Myślę też, że odniesienia są ważne dla szerszej publiczności ...
Mikan
1
Jeśli którekolwiek z używanych rozszerzeń korzysta z modułu ładującego ioncube, być może będziesz musiał chwilę poczekać. forum.ioncube.com/… W tej sytuacji modyfikacja rozszerzenia nie pomogłaby.
TryHarder
@oooooo - Dzięki za wskazanie tego, dobrze jest wiedzieć, że ioncube jest nadal niezgodny z najnowszym PHP, mimo że moim głównym celem są wszystkie te małe rozszerzenia pomocników, których doprawiliśmy administratorzy, nie wyobrażają sobie naszego zestawu narzędzi bez, i które prawie nie używają ten poziom ochrony licencji.
Mikan
1
Chociaż może nie obejmować twojego zainteresowania, mam nadzieję, że jest odpowiedni i przydatny dla innych :)
TryHarder

Odpowiedzi:

5

Ok, pierwsza rzecz jest pierwsza. Joomla 3.5.0 stabilna zostanie wydana jutro w następny poniedziałek :)

Cofam się o krok i najpierw wykonuję kopię zapasową witryny i instaluję ją w subdomenie lub lokalnym hoście z PHP 7.0.4.

Po zakończeniu dokładnie go przetestuj.

Jeśli chodzi o rozszerzenia, I Nicolas z Akeeba już obsługuje PHP 7, a inne popularne rozszerzenia najprawdopodobniej już go obsługują.

Powstrzymałbym się od dokonywania jakichkolwiek kluczowych zmian sam i czekałem na aktualizację programisty w miarę możliwości. Znasz wiertło „hack rdzenia” ... jest to obszar „nie idź”.

Jeśli chodzi o wsteczne zmiany niekompatybilności, spójrz na poniższe informacje z oficjalnej strony PHP:

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

Ogólnie rzecz biorąc, może poczekam kilka miesięcy, aż PHP 7 będzie trochę bardziej stabilny. Jest wciąż stosunkowo nowy i na pewno będą tam duże błędy.

Mam nadzieję że to pomoże

Lodder
źródło
Z pewnością to pomaga ... Niż człowiek ... Nie mogę się doczekać jutra ;-)
Mikan
Wygląda na to, że ponownie przełożyli Stable :-( twitter.com/viktorvogel/statuses/710007837850791937 , ale zamiast tego wypuścili RC4 dzisiaj ... Och, cóż ...
Mikan
2
@MirkoMikan - Stajnia jest teraz w następny poniedziałek
Lodder
2

To NIE jest odpowiedź na moje pytanie, chciałem tylko udostępnić link, który właśnie znalazłem i który może być pomocny w aktualizacji naszego Joomlasa do wersji 3.5:

Istnieje Dokument Google „ Lista rozszerzeń Joomla! Obsługujących Joomla! 3.5 i PHP 7 ”, który jest publicznie dostępny i zarządzany przez społeczność (w końcu mówimy o Joomla :-)).

Wiem, że powinienem to powiedzieć jako komentarz, a nie jako odpowiedź, ale myślę, że w ten sposób jest to bardziej widoczne.

Mikan
źródło