Quais alterações no código são necessárias para tornar as extensões do Joomla 3.5 compatíveis com PHP7?

9

(Por favor, tenha paciência comigo, desculpe, mas não posso perguntar isso rapidamente.)

Estamos todos esperando a versão estável do Joomla 3.5.0, não estamos?

RC3 O RC4 foi lançado hoje e é apenas uma questão de dias até que ela seja lançada finalmente (o Joomla 3.5.0 Stable foi lançado na segunda-feira, 21 de março de 2016 ), depois de mais de um ano fazendo e inúmeras mudanças de objetivos e adiamentos do ETA.

O maior recurso, entre todas as outras melhorias visíveis , definitivamente será a capacidade de rodar no PHP7 mais recente, resultando em uma execução quase 50% mais rápida e quase 4 vezes menor no consumo de memória ( fonte ).

Devido a mudanças internas no PHP7 (a introdução de dicas de tipo e as palavras agora reservadas "int", "string" e "float"), isso resultará em quebra de compatibilidade com versões anteriores de várias extensões, mesmo que o próprio núcleo do Joomla 3.5.0 seja totalmente compatível com o PHP7.
( fonte: quebra de compatibilidade com versões anteriores do RC4 Release News :)

Temos uma promessa de compatibilidade com versões anteriores para garantir que o código não seja quebrado repentinamente. No entanto, existem circunstâncias que podem nos forçar a deixar de cumprir essa promessa. No Joomla 3.5, este é o caso. Devido a mudanças no PHP 7, tivemos que renomear a classe String para StringHelper, caso contrário, o Joomla! não pode ser executado no PHP 7. Essa é uma alteração muito pequena e não esperamos nenhum problema. Para os interessados, você pode ler mais sobre isso no pacote Update to String 1.3 .

Tenho acompanhado profundamente o desenvolvimento dela e testado o J! 3.5.0 no PHP7 do SiteGround desde seu primeiro Betas até o mais novo RC4, e posso confirmar que as melhorias são notáveis ​​e ótimas.

MAS ... No momento, estou muito preocupado Quão rápido veremos todas as extensões totalmente atualizadas para oferecer suporte ao PHP7? Há uma grande chance de levar meses até que possamos executar livremente nossos sites no novo PHP configurado como estão agora na v3.4.8.

SO ... Estou pensando seriamente em atualizar manualmente algumas das minhas extensões de administrador favoritas para oferecer suporte ao PHP7 , para que eu possa continuar usando-as na nova versão 3.5 . Para aqueles que são populares e com suporte ativo (como Akeeba, JCE, etc ...), aguardarei as atualizações do desenvolvedor, esperando que elas cheguem rapidamente. Mas para aqueles que não estão mais sendo ativamente suportados (há muitos deles que uso por anos, apenas não me peça detalhes, por favor), terei que atualizá-los sozinho.

E ... Minha pergunta finalmente é: Você sabe quais alterações no código são necessárias para tornar alguma extensão compatível com o PHP7?
Quero dizer, além das mudanças pelas quais a equipe Joomla teve que passar pelo Update to String pacote 1.3 ...

Mikan
fonte
11
Acho que a maior parte deste post pode ser editada / removida. O foco principal da pergunta é "Que alterações de código são necessárias para tornar as extensões do Joomla 3.5 compatíveis com PHP7?" Embora eu ache importante as referências incluídas às mudanças conhecidas.
TryHarder 15/03
11
@moomoochoo - Thanx para o homem mudança de título ... Eu também acho que as referências são importantes para audiência mais ampla ...
Mikan
11
Se qualquer uma das extensões usadas usar o ioncube loader, talvez seja necessário aguardar um pouco. forum.ioncube.com/… Nesta situação, modificar a extensão não ajudaria.
TryHarder 15/03
@oooooo - Obrigado por apontar isso, é bom saber que o ioncube ainda é incomatável com o PHP mais recente, mesmo que meu foco principal esteja em todas essas pequenas extensões auxiliares que os administradores experientes não conseguem imaginar nossa caixa de ferramentas sem, e que dificilmente usam esse nível de proteção de licença.
Mikan
11
Embora possa não cobrir o seu foco, espero que seja relevante e útil para os outros :)
tryharder

Respostas:

5

Ok, a primeira coisa é a primeira. O Joomla 3.5.0 stable será lançado amanhã na próxima segunda-feira :)

Eu dou um passo para trás e, primeiramente, faço um backup do seu site e o instalo em um subdomínio ou host local, executando o PHP 7.0.4.

Uma vez feito, teste-o completamente.

Quanto às extensões, I Nicolas da Akeeba já suporta PHP 7 e outras extensões populares provavelmente já o suportam.

Eu evitaria fazer as alterações principais e esperaria que o desenvolvedor fosse atualizado como e quando puderem. Você conhece a broca "core hack" .... é uma área "sem acesso".

Quanto às alterações de incompatibilidade com versões anteriores, consulte o seguinte no site oficial do PHP:

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

No geral, talvez espere alguns meses até o PHP 7 ficar um pouco mais estável. Ainda é relativamente novo e definitivamente haverá alguns erros grandes por aí.

Espero que isto ajude

Lodder
fonte
Certamente isso ajuda ... Thanx homem ... Não pode esperar até amanhã ;-)
Mikan
Parece que eles adiada estável novamente :-( twitter.com/viktorvogel/statuses/710007837850791937 , mas em vez lançado RC4 hoje ... Oh, bem ...
Mikan
2
@MirkoMikan - estável é próxima segunda-feira agora
Lodder
2

Esta NÃO é uma resposta para minha pergunta, eu só queria compartilhar um link que acabei de encontrar e que pode ser útil na atualização do nosso Joomlas para 3.5:

Existe uma " Lista de Extensões do Joomla! Suporte ao Joomla! 3.5 e PHP 7 " do Google Doc , disponível publicamente e mantida pela comunidade (afinal, estamos falando do Joomla :-)).

Eu sei que deveria colocá-lo como comentário e não como resposta, mas acho que é mais visível dessa maneira.

Mikan
fonte