简单地总结一下你想要将汽车储存在一种带有色体的APIC:
class Cars implements IteratorAggregate
{
protected $storage;
public function __construct(SplObjectStorage $storage)
{
$this->storage = $storage;
}
public function addCar(Car $car)
{
$this->storage->attach($car);
}
public function removeCar(Car $car)
{
$this->storage->detach($car);
}
public function getIterator()
{
return clone $this->storage;
}
// …
}
您是否使用或 > <, 或>>>>>>>>>>taltary <<>>>>>>>tc>>>>>> >>>。 只注意<代码>Cars。
代码的完整工作实例
如果你倾向于使用阵列名称,例如方括号,则执行ArrayAccess。
class Cars implements IteratorAggregate, ArrayAccess
{
// …
public function offsetSet($offset, $value)
{
if($value instanceof Car) {
$this->storage[$offset] = $value;
} else {
throw …
}
}
}
http://codepad.org/geoc4TNW”rel=“nofollow”> 代码上的全部工作实例