Homepage Site Map


   
PROGRAMMAZIONE
   FARE WEB
   HTML
   CSS
   PHP
   MySQL
   XML - XSL
GRAFICA
   PAINT SHOP
   ANIMATION SHOP
   SWISH
   SWISHMAX
SCRIPT
   JAVASCRIPT
   PHP
   APPLET JAVA
   CSS GENERATOR
   WEB TOOLS
DOWNLOAD
   FONTS
   ICONE E AVATAR
   SMILES
   GIF ANIMATE
   CURSORI
   CALENDARI
   KAOANI
   BASI BANNER
   SCREENMATES
   MEEGOS
   GIOCHI
   VIDEO E PPS
ARTICOLI
   ARTICOLI
   GUADAGNA SITO
LINKS
   LINK TO ME
   VOTAMI
   SCAMBIO LINK
   SCAMBIO BANNER


zanox Partner promuovono Partner

 
  

Home -> Articoli -> PHP5


LE NOVITA' DEL PHP5



Nuova procedura di Installazione

Abbiamo già affrontato le diversità di installazione delle due versioni del PHP 4 e 5 in dettaglio nella guida del php e Apache.


Nuova libreria per MySQL

Altra differenza oramai nota è la nuova libreria del PHP 5 per MySQL: mysqli (vedere le due pagine relative a MySQL della quida PHP).


Cambiamenti nel codice

Oltre a quanto sopra citato, esistono altre modifiche sostanziali con la versione 4 del PHP, nuove funzioni e direttive.
Anche se la maggior parte del codice PHP 4 esistente dovrebbe funzionare senza modifiche, occorre fare attenzione ai seguenti cambiamenti incompatibili col codice precedente:


  • Nelle versioni precedenti, iniziare uno script con <? era consentito ed il codice veniva interpretato lo stesso come php, mentre con il PHP5 no, e bisogna sempre iniziare uno script php con <?php .
  • Ci sono alcune nuove parole chiave riservate.
  • strrpos() e strripos() ora utilizzano l'intera stringa come argomento di ricerca.
  • L'uso illegale degli offset delle stringhe causa E_ERROR invece di E_WARNING. Un esempio di utilizzo illegale è: $str = 'abc'; unset($str[0]);
  • array_merge() è stata cambiata per accettare solo array. Se viene passata una variabile che non è un array, un E_WARNING viene lanciato per ogni parametro. Prestare attenzione, poiché il codice può cominciare ad emettere E_WARNING improvvisamente.
  • La variabile server PATH_TRANSLATED non è più impostata implicitamente sotto Apache2 SAPI diversamente che in PHP 4, dove è impostato allo stesso valore della variabile server SCRIPT_FILENAME quando non è riempito da Apache. Questa modifica è stata fatta per adeguarsi alle specifiche CGI.
  • La costante T_ML_COMMENT non è più definita dall'estensione Tokenizer. Se error_reporting è impostata a E_ALL, PHP genera un avviso. Anche se la costante T_ML_COMMENT non è mai stata utilizzata, era definita in PHP 4. Sia in PHP 4 che in PHP 5 // e /* */ sono risolte come la costante T_COMMENT. Comunque i commenti in stile PHPDoc /** */, che a partire da PHP 5 sono analizzate da PHP, sono riconosciute come T_DOC_COMMENT.
  • $_SERVER dovrebbe essere popolata con argc e argv se variables_order include "S". Se si è configurato il sistema in modo da non creare $_SERVER, ovviamente questa non dovrebbe comparire. La modifica è stata quella di rendere argc e argv disponibile nella versione CLI a prescindere dall'impostazione di variables_order. Di conseguenza, la versione CLI ora popolerà sempre le variabili globali $argc e $argv.
  • Un oggetto senza proprietà non è più considerato "vuoto".
  • In alcuni casi le classi devono essere dichiarate prima dell'utilizzo. Questo succede solo se è usata qualcuna delle nuove caratteristiche di PHP 5 (come le interfacce). In caso contrario il comportamento è quello vecchio.
  • get_class(), get_parent_class() e get_class_methods() ora restituiscono il nome di classi/metodi come sono dichiarati (case-sensitive) il che può portare a problemi in vecchi script che si basano sul comportamento precedente (il nome di classe/metodo era sempre restituito a caratteri minuscoli). Una soluzione possibile è quella di cercare queste funzioni negli script ed utilizzare strtolower(). Questa modifica alla sensibilità di maiuscole/minuscole si applica anche alle costanti magiche predefinite __CLASS__, __METHOD__, e __FUNCTION__. I valori sono restituiti esattamente come dichiarati (case-sensitive).
  • ip2long() ora restituisce FALSE quando un IP address non valido è passata come argomento alla funzione, e non più -1.
  • Se esistono funzioni definite in un file incluso, queste possono essere utilizzate nel file principale indipendentemente dal fatto che siano prima di return() o dopo. Se il file è incluso due volte, PHP 5 emette un errore fatale poiché le funzioni erano già dichiarate, mentre PHP 4 non si lamenta di questo. Si raccomanda di utilizzare include_once() invece di controllare se il file è stato già incluso e fare un return condizionato all'interno del file incluso.
  • include_once() e require_once() in Windows per prima cosa normalizzano il percorso del file incluso in modo tale che includere A.php e a.php provochi una sola inclusione del file.


Nuove funzioni

In PHP 5 sono disponibili alcune nuove funzioni. Vi rimando a questa pagina della guida ufficiale per ulteriori approfondimenti e dettagli.


Nuove direttive

In PHP 5 sono disponibili anche nuove direttive nel file "php.ini". Vi rimando a questa pagina della guida ufficiale per ulteriori approfondimenti e dettagli.


Nuovo concetto di Classe

E' cambiato anche il concetto di classe in quanto oggetto, rispetto alla versione 4. Per comprendere meglio quanto detto, vi rimando alla lettura della guida ufficiale e di questo post sul forum del sito MasterDrive.it.




Cerca nel sito  Cerca nel sito    


Vai al W3C CSS Validator toolkit.
Realizzato con PHP. Vai al sito ufficiale del PHP.
Testato anche con Mozilla Firefox. Vai al sito ufficiale.

Home     Contacts     Forum     FAQ     Newsletter     Mappa     Cerca     Link to me

  Vedi gli RSS del sito.      

-->  [Il tuo link qui]