You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
PHP
42 lines
1.2 KiB
PHP
<?php
|
|
/** @noinspection PhpUnhandledExceptionInspection */
|
|
|
|
/** @noinspection PhpIllegalPsrClassPathInspection */
|
|
|
|
use jrosset\Singleton\IRegistry;
|
|
use jrosset\Singleton\TRegistryDefaultEntryName;
|
|
use jrosset\Singleton\TRegistryExternal;
|
|
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
class RegistryDefaultTest implements IRegistry {
|
|
use TRegistryExternal, TRegistryDefaultEntryName {
|
|
TRegistryDefaultEntryName::getDefaultEntryName insteadof TRegistryExternal;
|
|
}
|
|
|
|
private int $cpt;
|
|
|
|
private function __construct (int $cpt) {
|
|
$this->cpt = $cpt;
|
|
}
|
|
|
|
public function getCpt (): int {
|
|
return $this->cpt;
|
|
}
|
|
public function increment (): void {
|
|
$this->cpt++;
|
|
}
|
|
}
|
|
|
|
RegistryDefaultTest::addEntry('cpt_1', -5);
|
|
RegistryDefaultTest::addEntry('cpt_2', 12);
|
|
RegistryDefaultTest::setDefaultEntryName('cpt_1');
|
|
|
|
var_dump(RegistryDefaultTest::getInstance()->getCpt());
|
|
var_dump(RegistryDefaultTest::getInstance('cpt_2')->getCpt());
|
|
|
|
RegistryDefaultTest::getInstance()->increment();
|
|
RegistryDefaultTest::getInstance('cpt_2')->increment();
|
|
|
|
var_dump(RegistryDefaultTest::getInstance()->getCpt());
|
|
var_dump(RegistryDefaultTest::getInstance('cpt_2')->getCpt()); |