Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2009, 19:09
Wenaptic
 
Fecha de Ingreso: julio-2008
Ubicación: Maldonado
Mensajes: 27
Antigüedad: 16 años, 6 meses
Puntos: 0
Type casting en PHP 5 (como JAVA o .NET)

Hola a todos,

Busque en el foro y no encontre esta pregunta. Como se castea correctamente un objeto en PHP?

Supongamos el siguiente ejemplo:

Yo tengo dos clases A y B, A tiene una coleccion de B (relacion de agregacion)

Clase B
Código PHP:
class B
{
    private 
$_texto;

    public function 
devuelveTexto()
    {
        return 
$this->_texto;
    }

Clase A
Código PHP:
class A
{
    private 
$_colB;

    public function 
addB(B $b)
    {
        
$this->_colB[] = $b;
    }

    public function 
verificar($textoAVerificar)
    {
        
//Aca viene el asunto del problema
    
}

Bien ahora supongamos que quiero comparar el string contenido en $textoVerificar con el string que devuelve el metodo devuelveTexto de la clase B, que a su vez cada objeto de B pertenece a una coleccion dentro de la clase A.

En .NET por ejemplo bastaria con recorrer la coleccion de objetos y "castear" cada objeto para despues usar el metodo devuelveTexto y compararlo con $textoVerificar.

Algo asi:
Código:
public function verificar($textoVerificar)
{
    $i;
    $encontrado = false;
    $retorna;
    
     while($i <= count($this->_colB) and $encontrado = false){
        if(ctype($this->_colB, B.php)->devuelveTexto() = $textoVerificar){
            $retorna = 'Se encontro la instancia que contiene el texto';
            $encontrado = true;
        }
        $i++;
    }
}
Intente usar las clases que tiene incorporada php como: SplObjectStorage y ArrayObject pero sin exito.

Como es esto en PHP?

Desde ya gracias!