Quali modifiche al codice sono necessarie per rendere compatibili le estensioni di PHP7 in Joomla 3.5?


9

(Per favore, abbi pazienza con me, mi dispiace, ma non posso chiederlo velocemente.)

Non stiamo aspettando quasi tutti la versione stabile di Joomla 3.5.0, vero?

RC3 RC4 è stato rilasciato oggi ed è solo una questione di giorni prima che venga rilasciata definitivamente ( Joomla 3.5.0 Stable è stata appena rilasciata lunedì 21 marzo 2016 ), dopo più di un anno in fase di realizzazione e numerosi cambi di obiettivi e rinvii ETA.

La più grande caratteristica, tra tutti gli altri notevoli miglioramenti , sarà sicuramente la possibilità di funzionare con il più recente PHP7, con conseguente esecuzione di quasi il 50% più veloce e quasi 4 volte la riduzione del consumo di memoria ( sorgente ).

A causa di cambiamenti interni in PHP7 (l'introduzione di suggerimenti sul tipo e le parole ora riservate "int", "stringa" e "float") comporterà un'interruzione della compatibilità con le versioni precedenti per numerose estensioni, anche se lo stesso core di Joomla 3.5.0 essere pienamente compatibile con PHP7.
( fonte: interruzione della compatibilità con le versioni precedenti da RC4 News :)

Abbiamo una promessa di compatibilità con le versioni precedenti per assicurarci che il codice non si rompa improvvisamente. Tuttavia ci sono circostanze che possono costringerci a non mantenere più questa promessa. In Joomla 3.5 questo è il caso. A causa delle modifiche in PHP 7, abbiamo dovuto rinominare la classe String in StringHelper, altrimenti Joomla! non può essere eseguito su PHP 7. Questa è una modifica molto piccola e non ci aspettiamo problemi da essa. Per coloro che sono interessati, è possibile leggere ulteriori informazioni al riguardo Aggiorna al pacchetto String 1.3 .

Ho seguito attentamente il suo sviluppo e testato J! 3.5.0 su PHP7 di SiteGround dal suo primo Betas fino al più recente RC4, e posso confermare che i miglioramenti sono notevoli e notevoli.

MA ... In questo momento sono molto preoccupato Quanto velocemente vedremo tutte le estensioni completamente aggiornate per supportare PHP7? C'è una grande possibilità che ci vorranno mesi prima che saremo in grado di gestire liberamente i nostri siti su nuovi PHP configurati come sono ora su v3.4.8.

Quindi ... sto seriamente pensando di aggiornare manualmente alcune delle mie estensioni amministrative preferite per supportare PHP7 , quindi posso continuare a usarle sulla nuova v3.5. Per quelli che sono popolari e attivamente supportati (come Akeeba, JCE, ecc ...) aspetterò gli aggiornamenti degli sviluppatori sperando che arrivino abbastanza velocemente. Ma per quelli che non sono più attivamente supportati (ce ne sono molti che continuo a usare per anni, non chiedermi dettagli, per favore) dovrò aggiornarli da solo.

E ... La mia domanda alla fine è: ti capita di sapere quali modifiche al codice sono necessarie per rendere compatibile l'estensione PHP7?
Voglio dire, oltre alle modifiche che lo stesso team Joomla ha dovuto subire per l' aggiornamento al pacchetto String 1.3 ...


1
Penso che la maggior parte di questo post possa essere modificata / rimossa. L'obiettivo principale della domanda è "Quali modifiche al codice sono necessarie per rendere compatibili le estensioni PHP7 di Joomla 3.5?" Anche se penso che i riferimenti inclusi ai cambiamenti noti siano importanti.
Prova Harder

1
@moomoochoo - Grazie per il cambio di titolo ... Penso anche che i riferimenti siano importanti per un pubblico più vasto ...
Mikan

1
Se una delle estensioni utilizzate utilizza il caricatore di ioncube, potrebbe essere necessario attendere un po '. forum.ioncube.com/… In questa situazione, la modifica dell'estensione non sarebbe utile.
Prova Hardard

@oooooo - Grazie per averlo messo in evidenza, è bene sapere che ioncube è ancora inattaccabile con il più recente PHP, anche se il mio focus principale è su tutte quelle piccole estensioni di aiuto di cui gli amministratori esperti non possono immaginare la nostra cassetta degli attrezzi e che difficilmente usano quel livello di protezione della licenza.
Mikan,

1
Anche se potrebbe non coprire la tua attenzione, spero che sia pertinente e utile per gli altri :)
TryHarder

Risposte:


5

Ok, la prima cosa è prima. La scuderia Joomla 3.5.0 verrà rilasciata domani il prossimo lunedì :)

Faccio un passo indietro e innanzitutto eseguo un backup del tuo sito e lo installo su un sottodominio o sul tuo host locale, con PHP 7.0.4.

Una volta fatto, testalo accuratamente.

Per quanto riguarda le estensioni, I Nicolas di Akeeba supporta già PHP 7 e altre estensioni popolari probabilmente lo supporteranno già.

Vorrei astenermi dal fare qualsiasi modifica di base tu stesso e aspetto che lo sviluppatore si aggiorni come e quando può. Conosci l'esercitazione "core hack" .... è un'area "no go".

Per quanto riguarda le modifiche all'incompatibilità all'indietro, dai un'occhiata al seguente sito Web ufficiale di PHP:

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

Nel complesso, forse aspetta un paio di mesi fino a quando PHP 7 sarà un po 'più stabile. È ancora relativamente nuovo e ci saranno sicuramente alcuni grossi bug là fuori.

Spero che sia di aiuto


Sicuramente aiuta ... Grazie amico ... Non vedo l'ora fino a domani ;-)
Mikan

Sembra che abbiano rimandato Stable di nuovo :-( twitter.com/viktorvogel/statuses/710007837850791937 , ma invece hanno rilasciato RC4 oggi ... Oh, bene ...
Mikan

2
@MirkoMikan - La scuderia è il prossimo lunedì ora
Lodder

2

Questa NON è una risposta alla mia domanda, volevo solo condividere un link che ho appena trovato e che potrebbe essere utile per aggiornare Joomlas a 3.5:

Esiste un " Elenco di estensioni di Joomla! Google Doc che supporta Joomla! 3.5 e PHP 7 ", che è pubblicamente disponibile e gestito dalla community (stiamo parlando di Joomla, dopo tutto :-)).

So che avrei dovuto metterlo come commento e non come risposta, ma penso che sia più visibile in questo modo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.