Cita:
Empezado por semptrion
Las diferencias que existen entre el PHP4 y el PHP5 son básicamente en el manejo y la gestión de objetos. Así, una aplicación que funciona perfectamente en PHP4 funcionará en PHP5. Pero, una aplicación desarrollada en PHP5 no necesariamente funcionará en PHP4.
|
Solo puntualizar que esto no es totalmente correcto, puede que funcione en PHP5 o puede que no. Si la aplicacion que se quiere ejecutar en php5 usa objetos lo mas probable es que no funcione.
PHP4 usa el sistema de C++ cuando se asignan variables que hacen referencia a objetos, en cambio PHP5 usa el sistema de Java, de modo que:
Código:
$a = new stdClass();
$b = a;
EN PHP4:
$b y $a seran dos instancioas/objetos diferentes de la misma clase, es decir al asignar una variable a otra, en PHP4 se hace una copia del objeto en la nueva variable. De modo que, despues de la asignacion, si modificamos algo en el objeto $b, el objeto $a no se vera afectado.
EN PHP5:
$b y $a haran referencia al mismo objeto/instancia, no se copia un objeto de una variable a otra, sino que simplemente la variable $b "apunta" hacer referencia al mismo objeto al que hace referencia la variable $a. De modo que si modificamos algo del objeto $b, tambien cambiara en $a, ya que son el mismo.
Con este cambio tan drastico es normal que cualquier programa que haga un minimo uso de objetos deje de funcionar correctamente, y lo peor que puede pasar es que parezca que funcione pero despues se produzcan errores extraños de todo tipo por el cambio en el significado de las asignaciones.
Saludos