/** * {@inheritdoc} */ public function unregister($service) { if (!$this->has($service)) { throw new NonExistingServiceException(gettype($service)); } $this->services->remove($service); }
/** * {@inheritdoc} */ public function unregister($service) { if (!$this->has($service)) { throw new NonExistingServiceException($this->context, gettype($service), array_keys($this->services->toArray())); } $this->services->remove($service); }
/** * Remove a named element or fieldset * * @param string $elementOrFieldset * @return FieldsetInterface */ public function remove($elementOrFieldset) { if (!$this->has($elementOrFieldset)) { return $this; } $entry = $this->byName[$elementOrFieldset]; unset($this->byName[$elementOrFieldset]); $this->iterator->remove($entry); if ($entry instanceof FieldsetInterface) { unset($this->fieldsets[$elementOrFieldset]); return $this; } unset($this->elements[$elementOrFieldset]); return $this; }
public function testCloningAlsoClonesQueue() { $foo = new \stdClass(); $foo->name = 'bar'; $queue = new PriorityQueue(); $queue->insert($foo, 1); $queue->insert($foo, 2); $queueClone = clone $queue; while (!$queue->isEmpty()) { $this->assertSame($foo, $queue->top()); $queue->remove($queue->top()); } $this->assertTrue($queue->isEmpty()); $this->assertFalse($queueClone->isEmpty()); $this->assertEquals(2, $queueClone->count()); while (!$queueClone->isEmpty()) { $this->assertSame($foo, $queueClone->top()); $queueClone->remove($queueClone->top()); } $this->assertTrue($queueClone->isEmpty()); }