Registers a class.
public register ( string $name, string | callable $class, array $params = [], callback $callback = null ) | ||
$name | string | Registry name |
$class | string | callable | Class name or function to instantiate class |
$params | array | Class initialization parameters |
$callback | callback | Function to call after object instantiation |
function testSharedInstance() { $this->loader->register('d', 'User'); $user1 = $this->loader->load('d'); $user2 = $this->loader->load('d'); $user3 = $this->loader->load('d', false); $this->assertTrue($user1 === $user2); $this->assertTrue($user1 !== $user3); }
function testRegisterUsingCallback() { $this->loader->register('f', function () { return Factory::create(); }); $obj = $this->loader->load('f'); $this->assertTrue(is_object($obj)); $this->assertEquals('Factory', get_class($obj)); }