Modifiche alla versione: quanto sono rilevanti i problemi di compatibilità nel progetto?

2

Ad esempio se consideriamo ActionScript2.0 (basato su Oggetti ma la programmazione non implementa molto OOP) rispetto a 3.0 (altamente OOP) è come un linguaggio di scripting completamente nuovo nel senso di approccio, stile di programmazione, caratteristiche che ti danno l'idea .

In PHP possiamo vedere le versioni correnti che vanno da 3-5. modifiche alla versione breve

  • Domanda: gli sviluppatori che lavorano su PHP possono migrare facilmente da una versione all'altra?
  • Domanda: esistono numerosi problemi di compatibilità, in avanti o indietro?
  • Domanda: il tuo progetto si attacca a una versione specifica fino alla fine?
  • Domanda: lo stile di programmazione, l'approccio cambia da versione a versione?
  • Domanda: se dovessi iniziare con PHP per contribuire a un progetto costruito con versioni precedenti, l'apprendimento dell'ultima versione sarebbe controproducente per questo scopo?

Alcuni argomenti correlati che avevo trovato su SE

Come dovrei mantenere traccia della versione / modifiche dello script php?

Cosa sta succedendo a PHP 6?

Sarebbe davvero utile capire se puoi rispondere a questo argomento direttamente alle domande poste.

    
posta Aditya P 19.03.2011 - 11:23
fonte

3 risposte

5

Questo è piuttosto soggettivo, penso. La maggior parte delle persone direbbe che PHP è stato ragionevolmente compatibile con le versioni precedenti. Nel senso che uno script scritto per la versione 4 avrebbe la funzione principalmente sulla versione 5. Sono disponibili varie impostazioni e avvisi che possono essere notificati su potenziali problemi (ad esempio E_STRICT e E_DEPRECATED livelli di avviso ).

Tuttavia, probabilmente ci sono un certo numero di persone che hanno morso le strane variazioni di compatibilità tra le versioni ( ecco un elenco per PHP 5.3 ad esempio ).

Modifica per rispondere alle tue domande dirette:

Gli sviluppatori che lavorano su PHP è facile migrare da una versione all'altra?

Non è particolarmente difficile. Di nuovo, questo è soggettivo e dipende da ciò che consideri "facile". Se passi dalla versione 4 alla versione 5 (per esempio), allora è più difficile di 5.1 a 5.2. Ma dipende anche dalla tua domanda n. La versione 5, ad esempio, ha introdotto degli aggiornamenti piuttosto importanti al modello a oggetti, quindi mentre è ancora possibile eseguire uno script scritto per la versione 4 in gran parte non modificato, non utilizzerà il sistema di classe PHP 5 e quindi potrebbe non essere considerato "idiomatico".

Esistono numerosi problemi di compatibilità, in avanti o indietro?

Vasta? No. Gli script scritti per la versione 3 verranno eseguiti in gran parte non modificati sulla versione 4 e gli script scritti per la versione 4 verranno eseguiti in gran parte non modificati sulla versione 5. L'altro modo (la compatibilità con i forwards) è una storia completamente diversa e nessuna lingua (che io sappia di ?) tenta di essere compatibile in avanti . L'enorme numero di funzionalità aggiuntive rende difficile eseguire uno script progettato per 5.3 anche sulla versione 5.2 (a dire il vero, 5.3 era quasi un aggiornamento della versione principale).

Il tuo progetto si attacca a una versione particolare fino alla fine?

Per la maggior parte, sì. Ma la maggior parte dei "progetti" su cui lavoro sono veri e propri siti web. Se stavo lavorando su una framework o libreria , l'aggiornamento per lavorare sulle versioni più recenti del runtime sarebbe una considerazione.

Lo stile di programmazione, l'approccio cambia da versione a versione?

Sì. La versione 5 ha aggiornato il modello a oggetti in modo così ampio che il codice PHP 5 (idiomatico) sembra molto diverso dal codice PHP 4 (idiomatico). È ancora sostanzialmente lo stesso ( $variable , <?php ?> tag ecc.), Ma strutturalmente potrebbe sembrare molto diverso.

Personalmente, tendo ad usare un framework (attualmente mi piace molto CakePHP) e in genere introdurranno il loro stile e approccio al di sopra del motore PHP di base. Cambierò spesso framework anche per progetti diversi, a seconda delle circostanze e di ciò che è meglio per il lavoro (ad esempio, mi piaceva Drupal, ma ora mi sento troppo "PHP4-ish" per i miei gusti)

Se dovessi iniziare con PHP per contribuire a un progetto costruito con versioni precedenti, l'apprendimento dell'ultima versione sarebbe controproducente per questo scopo?

No, non sarebbe controproducente , ma devi ricordare che le versioni precedenti hanno fondamentalmente "funzionalità mancanti" rispetto alle versioni più recenti. Ad esempio, mi manca molto la migliore classe DateTime incorporata quando passo da PHP 5.3 a 5.2 e precedente ...

In breve

Personalmente, penso che stai mettendo troppa enfasi sulla "compatibilità" qui. Scrivo principalmente codice Python e C ++ al lavoro, e mi diletto anche in Java per lo sviluppo Android e anche un po 'di ASP.NET ogni tanto. Francamente, passare da PHP4 a PHP5 è quasi banale in confronto.

    
risposta data 19.03.2011 - 13:23
fonte
1

Non ne so molto della versione 3, ma nel passaggio dalla versione 4 alla 5 l'unico grande cambiamento che mi ha colpito riguarda le classi e gli oggetti. Se avessi fatto una programmazione di classe, il tuo codice funzionerebbe su uno, ma non sull'altro.

    
risposta data 19.03.2011 - 17:44
fonte
0
current versions going from 3-5

Non considerare PHP v3 o PHP v4 "corrente" in alcun modo. Infatti, per quanto posso dire, solo PHP 5.2 e 5.3 hanno aggiornamenti di sicurezza in questi giorni, quindi non dovresti usare niente di meno.

Il manuale PHP ha sezioni per la migrazione, che descrive le modifiche. link

    
risposta data 19.03.2011 - 13:06
fonte