Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 04-mar-2008, 14:00   #1 (permalink)
hector2c ha deshabilitado el karma
 
Avatar de hector2c
 
Fecha de Ingreso: noviembre-2007
Mensajes: 118
Pregunta php5 a php4 - class

pues, un amigo me presto un host para subir un trabajo de muestra ... era medianamente largo, pero!!, lo desarrolle en php5 y mysql5, ahora, me doy la sorpresa que el host esta en php4 y mysql4...

como podria arreglar este problema, trabajo con clases...

Código PHP:
<?php
  
class cls_conexion
  
{
     function 
conectar()
    {
      
$bd_host "localhost";
      
$bd_usuario "root";
      
$bd_password "internet";
      
$bd_base "librosmundo";
            
      
$con mysql_connect($bd_host$bd_usuario$bd_password) or die("Error en la conexión a MySql");
      
mysql_select_db($bd_base$con);
      return 
$con;
    }                
  }
?>
Código PHP:
<?php
  
class cls_categoria
  
{
    public 
$ide_cat;
    public 
$nom_cat;
        
    function 
agregar()
    {
      
$obj_con = new cls_conexion();
      
$con $obj_con->conectar();
      
$nom_cat $this->nom_cat;
      
$sql "insert into categoria values (0, '$nom_cat')";
      
mysql_query($sql$con);
    }    
  }
?>
y las instancio de este modo:

Código PHP:
include "../class/cls_conexion.php";
include 
"../class/cls_categoria.php";
$obj_cat = new cls_categoria();
$obj_cat->nom_cat=$nom_cat;
$obj_cat->agregar();
header("Location: cat.php"); 
como podria des-migrar a php4 ?? creo que el problema es con los $this->xxx ???
el modo de instanciar, espero ayuden, creo que la solucion esta en las clases... gracias de ante mano

me refiero, en la clase poner variables publicas en la cabezera, y luego poder llamarlas con un $obj_cat->ide_cat; y como trabajarlas en la clase, pero para php4 :SS se puede, o php4 no soporta este tipo de programación??
hector2c está desconectado   Responder Citando
Antiguo 04-mar-2008, 14:23   #2 (permalink)
quinqui tiene algunos puntos positivos de karma
 
Avatar de quinqui
 
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 373
Re: php5 a php4 - class

Uh, pues sí es distinto programar clases en una y otra versión :(

En php 4.x fue como más experimental, y no incluía todas las restricciones que php 5.x.

Me ha pasado personalmente que he podido usar en un servidor con php 5.x unas clases que hice en php 4.x. Pero es casi seguro que no se puede al revés, pues php 4.x todavía no conocía las cosas que tiene php 5.x, obvio.

Haz una copia de toda la clase y reemplaza todas las declaraciones "public", "private", etc, por sólo "var"... para empezar, claro. La verdad no he programado en php 5.x tanto como para saber los alcances o_ò... Lo siento.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
quinqui está desconectado   Responder Citando
Antiguo 04-mar-2008, 14:29   #3 (permalink)
hector2c ha deshabilitado el karma
 
Avatar de hector2c
 
Fecha de Ingreso: noviembre-2007
Mensajes: 118
Re: php5 a php4 - class

buuuuuuuuuuuu, pues tendre que ver el modo, tendre que trabajar en caliente para usar el php4 por ftp :S, aver que sale, nos vemos, cuidate, gracias de todos modos, empezare con eso de tipos de alcanze VAR
hector2c está desconectado   Responder Citando
Antiguo 14-mar-2008, 14:18   #4 (permalink)
pragone está en el buen camino
 
Avatar de pragone
 
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Re: php5 a php4 - class

Hola,

Por lo que veo de tu código... lo único que creo que debes cambiar es la definición de las propiedades de la clase cls_categoria. Cambia el keyword public por var y creo que debería funcionar bien.

PHP5 tiene un mejor soporte para clases, pero ya que no usas (por lo menos en el código que indicas) ninguna funcionalidad propia de la implementación de clases de PHP5, creo que no deberías tener problemas en migrar a PHP4.

Saludos
__________________
pragone
Blog: Desarrollo, comunidad y monetización
Últimos artículos: Tips de Smarty
pragone está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 03:30.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93