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;
    }
} 
    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
    }
} 
    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:
  
Intente usar las clases que tiene incorporada php como: SplObjectStorage y ArrayObject pero sin exito.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++;
    }
}
Como es esto en PHP?
Desde ya gracias!
 
