Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Programmazione Soluzione "deprecated errors" in PHP 5.3

Soluzione "deprecated errors" in PHP 5.3

E-mail Stampa PDF

Soluzione "deprecated errors" in PHP 5.3

Se avete fatto l'upgrade alla versione PHP 5.3, ci sono buone probabilità che appaiano dei messaggi di avviso o errore nel vostro sito web.
Un esempio di questi problemi sono le funzioni della famiglia ereg, per cui verrà usata la funzione alternativa preg_match.

Per una corretta migrazione dalla funzione ereg():

ereg('\.([^\.]*$)', $this->file_src_name, $extension);

diventa

preg_match('/\.([^\.]*$)/', $this->file_src_name, $extension);

notare che l'argomento della funzione (\.([^\.]*$)) è stato inserito tra le / /, che sono dei delimitatori RegExp. Se all'interno dell'espressione ci fossero dei /, come ad esempio per un URL, potreste usare # come delimitatore.

Per una corretta migrazione dalla funzione ereg_replace():

$this->file_dst_name_body = ereg_replace('[^A-Za-z0-9_]', '', $this->file_dst_name_body);

diventa

$this->file_dst_name_body = preg_replace('/[^A-Za-z0-9_]/', '', $this->file_dst_name_body);

Anche qua devono essere inseriti i delimitatori.

LA funzione eregi è la versione case insensitive della funzione ereg per cui basterà aggiungere una "i" dopo il delimitatore finale dell'argomento:

eregi('\.([^\.]*$)', $this->file_src_name, $extension);

diventa

preg_match('/\.([^\.]*$)/i', $this->file_src_name, $extension);

Per non incorrere in un errore del tipo :

Deprecated: Function split() is deprecated in...

Anche la funzione split dovrebbe essere sostiuita con la funzione explode o preg_split:

$queries = split(";",$sqlQuery);

diventa

$queries = explode(";",$sqlQuery);

o

$queries = preg_split("/;/",$sqlQuery);

Se la funzione fosse case insensitive:

$queries = spliti(";",$sqlQuery);

diventa

$queries = preg_split("/;/i",$sqlQuery);

Altra caratteristica molto comune nella quale è possibile imbattersi è l'assegnazione della variabile di ritorno dell'operatore new tramite un riferimento.

$instance =& new SimpleClass();

diventa

$instance = new SimpleClass();



Ultimo aggiornamento ( Venerdì 29 Aprile 2011 07:19 )  
Loading

Login