![]() |
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 :serio: . solo que me he estado dando de topes :golpeado: . 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 :neurotico :'( , he estado buscando por todos lados algo que me indique si se puede o no se puede, por toda su atencion gracias , muchas gracias :adios: |
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: saludos |
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. |
Yo lo hago de esta manera: Usando claudators. {{$a->getB()}->getC()}->imprimir(); |
| La zona horaria es GMT -6. Ahora son las 03:30. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.