<?php
class Container implements ArrayAccess {
private $classes = array();
public function offsetSet($offset, $value) {
$this->classes[$offset] = $value;
}
public function offsetExists($offset) {
return isset($this->classes[$offset]);
}
public function offsetUnset($offset) {
unset($this->classes[$offset]);
}
public function offsetGet($offset) {
return isset($this->classes[$offset]) ? $this->classes[$offset] : null;
}
}
class Core {
public function run()
{
echo "Running \n";
}
}
// usage
$container = new Container;
$container['core'] = new Core;
$container['core']->run();
Deprecated: Return type of Container::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/CRdJZ on line 11
Deprecated: Return type of Container::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/CRdJZ on line 19
Deprecated: Return type of Container::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/CRdJZ on line 7
Deprecated: Return type of Container::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/CRdJZ on line 15
Running