Ver Mensaje Individual
  #14  
Antiguo 06-09-2007
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Reputación: 22
Mick Va por buen camino
Cita:
Empezado por semptrion Ver Mensaje
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
Responder Con Cita