O tipo de dado SplObjectStorage permite que seus elementos sejam acessados
utilizando um objeto que é passado como argumento para o indexaxor [].
Sintaxe:
$variavel[object $objeto];
Onde
$objeto: objeto associado ao elemento
Exemplo 4
<?php
class Teste{
//corpo omitido
}
$classe = new Teste(); //objeto
$sos = new SplObjectStorage();
$valor = "uma string qualquer"; //valor associado ao objeto
$sos->attach($classe,$valor);
echo $sos[$classe];
?>
Saída
uma string qualquer
A alteração de um elemento contido em um SplObjectStorage, basta acessar o
desejado elementos e substituir seu valor associado com um novo valor.
Sintaxe:
$variavel[object $objeto] = valor;
Onde
$objeto: objeto associado ao elemento
valor: valor para alteração
Exemplo 5
<?php
class Teste{
//corpo omitido
}
$classe = new Teste(); //objeto
$sos = new SplObjectStorage();
$valor = "uma string qualquer"; //valor associado ao objeto
$sos->attach($classe,$valor);
echo $sos[$classe],"\n";
$sos[$classe] = 1.99; //valor associado
echo $sos[$classe],"\n";
?>
Saída
uma string qualquer
1.99