¿Qué cambios de código son necesarios para que las extensiones de Joomla 3.5 sean compatibles con PHP7?


9

(Tenga paciencia conmigo, lo siento, pero no puedo preguntar esto rápidamente).

Todos apenas estamos esperando la versión estable de Joomla 3.5.0, ¿no es así?

RC3 RC4 se lanzó hoy y solo es cuestión de días hasta que finalmente se lance ( Joomla 3.5.0 Stable se lanzó recientemente el lunes 21 de marzo de 2016 ), después de más de un año en hacer y numerosos cambios de objetivos y aplazamientos de ETA.

La característica más importante, entre todas las otras mejoras notables , definitivamente será la capacidad de ejecutarse en el nuevo PHP7, lo que resulta en una ejecución casi un 50% más rápida y una disminución de casi 4 veces en el consumo de memoria ( fuente ).

Debido a los cambios internos en PHP7 (la introducción de sugerencias de tipo y las palabras ahora reservadas "int", "string" y "float") dará como resultado una interrupción de compatibilidad hacia atrás para numerosas extensiones, aunque Joomla 3.5.0 core sí mismo ser totalmente compatible con PHP7.
( fuente: Retroceso de compatibilidad con versiones anteriores de RC4 Release News :)

Tenemos una promesa de compatibilidad con versiones anteriores para asegurarnos de que el código no se rompa repentinamente. Sin embargo, hay circunstancias que pueden obligarnos a no seguir cumpliendo esta promesa. En Joomla 3.5 este es el caso. Debido a los cambios en PHP 7, tuvimos que cambiar el nombre de la clase String a StringHelper; de lo contrario, Joomla! no se puede ejecutar en PHP 7. Este es un cambio muy pequeño y no esperamos ningún problema. Para aquellos interesados, puede leer más al respecto en el paquete 1.3 de Update to String .

He seguido con atención su desarrollo y probé J! 3.5.0 en PHP7 de SiteGround desde su primer Betas hasta el nuevo RC4, y puedo confirmar que las mejoras son notables y geniales.

PERO ... En este momento estoy muy preocupado ¿Qué tan rápido veremos todas las extensiones completamente actualizadas para admitir PHP7? Existe una gran posibilidad de que pasen meses hasta que podamos ejecutar libremente nuestros sitios en un nuevo PHP configurado como ahora en v3.4.8.

SO ... Estoy considerando seriamente actualizar manualmente algunas de mis extensiones de administrador favoritas para admitir PHP7 , por lo que puedo seguir usándolas en la nueva v3.5. Para aquellos que son populares y soportados activamente (como Akeeba, JCE, etc.) esperaré las actualizaciones del desarrollador con la esperanza de que lleguen bastante rápido. Pero para aquellos que ya no reciben soporte activo (hay muchos de ellos que sigo usando durante años, simplemente no me pidan detalles, por favor) tendré que actualizarlos yo mismo.

Y ... Mi pregunta finalmente es: ¿Sabes qué cambios en el código son necesarios para que alguna extensión sea compatible con PHP7?
Quiero decir, además de los cambios que el propio equipo de Joomla tuvo que someterse para el paquete 1.3 de Update to String ...


1
Creo que la mayoría de esta publicación podría editarse / eliminarse. El objetivo principal de la pregunta es "¿Qué cambios en el código son necesarios para hacer que las extensiones de Joomla 3.5 sean compatibles con PHP7?" Aunque creo que las referencias incluidas a los cambios conocidos son importantes.
TryHarder

1
@moomoochoo - Gracias por el cambio de título hombre ... También creo que las referencias son importantes para un público más amplio ...
Mikan

1
Si alguna de las extensiones que utiliza utiliza el cargador de ioncubos, es posible que deba esperar un poco. forum.ioncube.com/… En esta situación, modificar la extensión no ayudaría.
TryHarder

@oooooo - Gracias por señalarlo, es bueno saber que ioncube sigue siendo incompatible con el PHP más reciente, aunque mi enfoque principal está en todas esas pequeñas extensiones auxiliares que los administradores experimentados no pueden imaginar sin nuestra caja de herramientas, y que apenas usan ese nivel de protección de licencia.
Mikan

1
Si bien es posible que no cubra su enfoque, espero que sea relevante y útil para otros :)
TryHarder

Respuestas:


5

Ok, lo primero es lo primero. Joomla 3.5.0 estable se lanzará mañana próximo lunes :)

Doy un paso atrás y primero hago una copia de seguridad de su sitio y lo instalo en un subdominio o su host local, ejecutando PHP 7.0.4.

Una vez hecho esto, pruébalo a fondo.

En cuanto a las extensiones, I Nicolas de Akeeba ya es compatible con PHP 7 y es probable que otras extensiones populares ya lo admitan.

Me abstendría de hacer cualquier cambio central usted mismo y esperaría a que el desarrollador se actualice cuando pueda. Usted conoce el ejercicio "core hack" ... es un área "prohibida".

En cuanto a los cambios de incompatibilidad hacia atrás, eche un vistazo a lo siguiente desde el sitio web oficial de PHP:

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

En general, tal vez espere un par de meses hasta que PHP 7 sea un poco más estable. Todavía es relativamente nuevo y definitivamente habrá algunos errores importantes por ahí.

Espero que esto ayude


Seguramente ayuda ... Gracias hombre ... No puedo esperar hasta mañana ;-)
Mikan

Parece que pospusieron Stable nuevamente :-( twitter.com/viktorvogel/statuses/710007837850791937 , pero en su lugar lanzaron RC4 hoy ... Oh, bueno ...
Mikan

2
@MirkoMikan - Stable es el próximo lunes ahora
Lodder

2

Esta NO es una respuesta a mi pregunta, solo quería compartir un enlace que acabo de encontrar y que podría ser útil para actualizar nuestro Joomlas a 3.5:

Hay una " Lista de extensiones de Joomla! De Google Doc que admite Joomla! 3.5 y PHP 7 ", que está disponible públicamente y es mantenida por la comunidad (después de todo, estamos hablando de Joomla :-)).

Sé que debería haberlo puesto como comentario y no como respuesta, pero creo que es más visible de esta manera.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.