Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Se puede hacer esto en PHP4 ?

Estas en el tema de Se puede hacer esto en PHP4 ? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola que tal.. Tengo este pequeño problema. Tenia un sitio desarrollado para PHP5 con el siguiente fragmento de codigo Código PHP:          require_once( "ReglaNegocio.php" ); ...
  #1 (permalink)  
Antiguo 03/08/2007, 17:20
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 1
Se puede hacer esto en PHP4 ?

Hola que tal..

Tengo este pequeño problema.
Tenia un sitio desarrollado para PHP5 con el siguiente fragmento de codigo

Código PHP:
        require_once("ReglaNegocio.php");
        require_once(
"Libro.php");
    @
session_start();
        
$ent=new Libro();
        
$rn=new ReglaNegocio();
        
        
$_SESSION['entidad']->setAutor($_POST['autor']); 
Ahora bien... cuuando hago creo la instancia del objeto Libro el constructor es asi.

Código PHP:
    function __construct()
    {
        
$_SESSION['entidad']=null;
        
$_SESSION['entidad'] = $this;    
    } 
Ahora bien.. cuando lo subi a internet me di cuenta que el servicio de hosting tiene PHP 4.4.4 y... mas alla de los errores que me tiró por los public | private y todo eso, me quede con este problema que es cuando quiero llamar a una funcion de un objeto que esta en session...



Código:
Fatal error: Call to a member function on a non-object in .....cont_nuevo_libro.php on line 32
Soy yo o no se puede hacer eso en PHP4 ? porque en el mismo codigo en PHP5 funcionaba perfectamente...

Si me pueden ayudar y decirme que debo hacer, gracia ^^
  #2 (permalink)  
Antiguo 03/08/2007, 18:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Se puede hacer esto en PHP4 ?

Recuerda que en PHP5 tienes el __autoload, pero en PHP4 no esta disponible, asi que debes de incluir la definicion de la funcion antes de iniciar la session con session_start();

Saludos.
  #3 (permalink)  
Antiguo 04/08/2007, 11:33
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Se puede hacer esto en PHP4 ?

fijate bien que hago incluyo las definiciones con el require_once y despues hago el session start...
no entiendo, xq supuestamente esta bien hecho

como ese codigo anda en php5 y el no en php4....

Última edición por Elwin Murton; 04/08/2007 a las 12:16
  #4 (permalink)  
Antiguo 04/08/2007, 13:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Se puede hacer esto en PHP4 ?

Haz comparado las opciones del servidor? es decir si tienes register_globals activado, short_tags, etc?.

Saludos.
  #5 (permalink)  
Antiguo 05/08/2007, 15:28
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Se puede hacer esto en PHP4 ?

Esta todo en orden...
...no entiendo porque no se puede...
  #6 (permalink)  
Antiguo 05/08/2007, 20:23
 
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires Argentina
Mensajes: 59
Antigüedad: 18 años, 7 meses
Puntos: 1
Re: Se puede hacer esto en PHP4 ?

Recorda que
Código PHP:
 function __construct()
    {
        
$_SESSION['entidad']=null;
        
$_SESSION['entidad'] = $this;    
    } 
esto no va a andar en php4, el __construc() fue incorporado en php5.
en php4 como constructor se usa una función con el mismo nombre de la clase, es decir..
Código PHP:
class hola {
    
    
// constructor
    
function hola() {
    
        
    }


  #7 (permalink)  
Antiguo 05/08/2007, 20:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Se puede hacer esto en PHP4 ?

Cierto, como se me pudo haber pasado eso, ejeje buena debian4tw.

Saludos.
  #8 (permalink)  
Antiguo 06/08/2007, 07:31
Avatar de c0lo  
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires
Mensajes: 281
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: Se puede hacer esto en PHP4 ?

jaja como el todos los lenguajes de programacion :P...

lo habia hecho asi por malacostumbrarme a Java y C y bue... como vi una vez el __construct lo cambié

gracias gente
el foro la rompe

(Elwin Murton)
__________________
Nuestro amo juega al esclavo // de esta tierra que es una herida
que se abre todos los días // a pura muerte, a todo gramo.
Violencia es mentir.
  #9 (permalink)  
Antiguo 09/08/2007, 00:53
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Se puede hacer esto en PHP4 ?

Solo agregaría una sola cosa...
en PHP4, los objetos NUNCA se pasan por referencia, gran error del motor, sino que se pasan por valor, así que para que tu ejemplo funcione con exactitud, deberías hacer:

Código PHP:
    function __construct()
    {
        
$_SESSION['entidad'] = null;
        
$_SESSION['entidad'] =& $this;    
    } 
Suerte.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.