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

Respuesta
 
Herramientas Desplegado
Antiguo 14-feb-2007, 20:04   #1 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 782
Problema extraño al invocar un metodo estatico

No se porque me fallará. alguna idea?

Código PHP:
<?php
class Sample
{    
    public static function 
test($type)
    {
        print 
$type;
    }
}

$type 'Sample';    
$type::test($type);
?>
arroja lo siguiente:
Código PHP:
Parse errorparse errorunexpected T_PAAMAYIM_NEKUDOTAYIM in C:xampphtdocsoopmysqlmysql.php on line 10 
Pero sin embargo el siguiente ejemplo funciona sin problema:

Código PHP:
<?php
class Sample
{    
    public function 
__construct($type)
    {
        print 
$type;
    }
}

$type 'Sample';    
new 
$type($type);
?>
Cualquier idea es agradecida.

salu2

zsamer
zsamer está desconectado   Responder Citando
Antiguo 14-feb-2007, 20:29   #2 (permalink)
Fridureiks ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.240
Re: Problema extraño al invocar un metodo estatico

Y asi no te sirve?

Código PHP:
<?php
class Sample
{    
    public static function 
test($type)
    {
        print 
$type;
    }
}

$type 'Sample';    
Sample::test($type);
?>

Asi tambien funciona, pero no es tan bonito :P

Código PHP:
<?php
class Sample
{    
    public static function 
test($type)
    {
        print 
$type;
    }
}

$type 'Sample';    
eval(
$type '::test($type);');
?>
Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
Fridureiks está desconectado   Responder Citando
Antiguo 14-feb-2007, 20:42   #3 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 13.051
Re: Problema extraño al invocar un metodo estatico

Tambien esta esta forma:
Código PHP:
call_user_func( array( 'Sample''test' ), $type ); 
GatorV está desconectado   Responder Citando
Antiguo 15-feb-2007, 04:26   #4 (permalink)
Colaborador
enriqueplace tiene algunos puntos positivos de karma
 
Avatar de enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 726
Enviar un mensaje por Skype™ a enriqueplace
Re: Problema extraño al invocar un metodo estatico

Si sigues jugando así, te vas a sacar un ojo.
__________________
Saludos, Enrique Place

Reserva tu lugar, no te lo pierdas:
Nuevo Taller a Distancia de POO para PHP (Septiembre 2008)
enriqueplace está desconectado   Responder Citando
Antiguo 15-feb-2007, 05:51   #5 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 782
Re: Problema extraño al invocar un metodo estatico

Se supone que $type que corresponde al nombre de la clase es entregado por un parametro externo desconocido, es decir puede ser cualquier clase no una determinada y unica (Sample es un ejemplo), este parametro es recivido por url.

Por lo mismo necesito una forma dinámica.
zsamer está desconectado   Responder Citando
Antiguo 15-feb-2007, 07:45   #6 (permalink)
vanetino ha deshabilitado el karma
 
Avatar de vanetino
 
Fecha de Ingreso: diciembre-2006
Ubicación: Lima, Peru
Mensajes: 23
Re: Problema extraño al invocar un metodo estatico

hola zsamer, me parece que de la 2 forma que te propuso Fridureiks, es lo que se ajusta a lo que quieres.

Saludos
vanetino está desconectado   Responder Citando
Antiguo 15-feb-2007, 08:09   #7 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 782
Re: Problema extraño al invocar un metodo estatico

Cita:
Iniciado por vanetino Ver Mensaje
hola zsamer, me parece que de la 2 forma que te propuso Fridureiks, es lo que se ajusta a lo que quieres.

Saludos
estoy de acuerdo contigo, pero no me convence el metodo, nececito alguna otra forma, evitando eval().
zsamer está desconectado   Responder Citando
Antiguo 15-feb-2007, 10:32   #8 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 13.051
Re: Problema extraño al invocar un metodo estatico

Prueba de la forma que te digo.

Código PHP:
$resultado call_user_func( array( "Nombre_De_La_Clase""Metodo_a_ejecutar" ), $parametro_a_enviar$puedes_enviar_otros$los_que_necesites ); 
GatorV está desconectado   Responder Citando
Antiguo 15-feb-2007, 11:39   #9 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 782
Re: Problema extraño al invocar un metodo estatico

Cita:
Iniciado por GatorV Ver Mensaje
Prueba de la forma que te digo.

Código PHP:
$resultado call_user_func( array( "Nombre_De_La_Clase""Metodo_a_ejecutar" ), $parametro_a_enviar$puedes_enviar_otros$los_que_necesites ); 
funciona bien, pero quedé con la inquietud, de que no ejecuta el metodo como si fuera static osea:

Código PHP:
$resultado Nombre_De_La_Clase::Metodo_a_ejecutar($parametro_a_enviar); 
zsamer está desconectado   Responder Citando
Antiguo 15-feb-2007, 11:58   #10 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 13.051
Re: Problema extraño al invocar un metodo estatico

Si lees el manual de PHP, te podras dar cuenta que la funcion call_user_func, su primer parametro es un Callback valido.

Te invito a que leas el manual y sabras como puedes enviar los metodos para que se ejecuten como estaticos.

Saludos.
GatorV está desconectado   Responder Citando
Antiguo 15-feb-2007, 12:53   #11 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 782
Re: Problema extraño al invocar un metodo estatico

Cita:
Iniciado por GatorV Ver Mensaje
Si lees el manual de PHP, te podras dar cuenta que la funcion call_user_func, su primer parametro es un Callback valido.

Te invito a que leas el manual y sabras como puedes enviar los metodos para que se ejecuten como estaticos.

Saludos.
perfecto GatorV, con esta url, me aclaró todo, muchas gracias.

Código PHP:
<?php

// Una llamada de retorno de ejemplo
function mi_llamada_de_retorno() {
   echo 
'&iexcl;Hola mundo!';
}

// Un m&eacute;todo como llamada de retorno de ejemplo
class MiClase {
   function 
miMetodoDeRetorno() {
       echo 
'&iexcl;Hola Mundo!';
   }
}

// Tipo 1: Llamada de retorno simple
call_user_func('mi_llamada_de_retorno');

// Tipo 2: Llamada de metodo estatico de clase
call_user_func(array('MiClase''miMetodoDeRetorno'));

// Tipo 3: Llamada a un metodo de objeto
$obj = new MiClase();
call_user_func(array($obj'miMetodoDeRetorno'));
?>
saludos.
zsamer 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 20:36.


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