- var_dump: documentation ( source)
- array_values: documentation ( source)
- spl_object_hash: documentation ( source)
<?php
class WidgetCollection
{
private $widgetArray = [];
public function addWidget(Widget $widget)
{
$this->widgetArray[spl_object_hash($widget)] = $widget;
}
public function removeWidget(Widget $widget)
{
unset($this->widgetArray[spl_object_hash($widget)]);
}
public function getEachWidget()
{
return array_values($this->widgetArray());
}
}
class Widget { }
$widgetCollection = new WidgetCollection;
$widgetCollection->addWidget($a = new Widget);
$widgetCollection->addWidget($b = new Widget);
$widgetCollection->addWidget($c = new Widget);
var_dump($widgetCollection);
$widgetCollection->removeWidget($b);
var_dump($widgetCollection);