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

Respuesta
 
Herramientas Desplegado
Antiguo 23-abr-2005, 11:41   #1 (permalink)
christiancg2v ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 1
Pregunta Operador "->" en metodos

Hola a todos.

Soy un programador java que esta iniciando en PHP, asi que, estoy tratando de programar orientado a objetos como lo haria en java, manejando todos los principios de la orientacion a objetos y el estilo de programar en java . solo que me he estado dando de topes . mi problema es este:

Tengo una clase que contiene otra clase y este a su ves tiene otra.
objeto A contiene un objeto B y objeto B contiene un Objeto C y este a su ves tiene un metodo imprimir():
En java puedo realizar esto: a es un objeto de la clase A;


a.getB().getC().imprimir();

en su version en PHP supuse que seria de esta forma

$a->getB()->getC()->imprimir();

como pueden ver en la version de php, a mi me marca un error

Parse error: parse error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' in c:\appserv\www\ampi\modules\solicitudes\dominio\lo gicadenegocio\prueba.php on line 42


mi pregunta es ¿Si con el operador "->" puedo hacer algo similar en PHP?;
y si se puede digame como porfiss , he estado buscando por todos lados algo que me indique si se puede o no se puede,
por toda su atencion gracias , muchas gracias
christiancg2v está desconectado   Responder Citando
Antiguo 24-abr-2005, 07:35   #2 (permalink)
sism82 ha deshabilitado el karma
 
Avatar de sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Enviar un mensaje por MSN a sism82 Enviar un mensaje por Yahoo  a sism82
si como supong el método getB y getC te devuelven un objeto o una referencia a un objeto, tienes que separar las llamadas:

Código PHP:
$b $a->getB();
$c $b->getC();
$c->imprimir(); 
un saludo.
saludos
__________________
Se debe llamar GNU/Linux, no solamente Linux, mas info en: http://www.gnu.org/gnu/gnu-linux-faq.es.html
sism82 está desconectado   Responder Citando
Antiguo 25-abr-2005, 07:08   #3 (permalink)
Colaborador
Webstudio tiene algunos puntos positivos de karma
 
Avatar de Webstudio
 
Fecha de Ingreso: noviembre-2002
Ubicación: 127.0.0.1
Mensajes: 3.343
De hecho, la manera correcta de hacerlo en PHP 4.Xm sería :
[php]<?php
$b =& $a->getB();
$c =& $b->getC();
$c->imprimir();
?>[php]

Aunque si tuvieras ya alguna de las versiones de PHP5 instaladas en tu servidor, puedes hacerlo directamente de la manera que pretendías:

$a->getB()->getC()->imprimir();

Saludos.
__________________
Productos en Venta | Hoy-Vendo.com.ar
Artículos PHP | ZonaPHP.com
Webstudio está desconectado   Responder Citando
Antiguo 14-may-2005, 05:41   #4 (permalink)
Windsurf ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2004
Mensajes: 17
Yo lo hago de esta manera: Usando claudators.

{{$a->getB()}->getC()}->imprimir();
Windsurf 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 14:17.


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