Merge pull request #7427 from nupplaphil/bug/friendica-7426
Set shared instances in DICE
This commit is contained in:
commit
9ba7f4689a
3 changed files with 8 additions and 12 deletions
|
@ -25,6 +25,11 @@ use Psr\Log\LoggerInterface;
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
return [
|
return [
|
||||||
|
'*' => [
|
||||||
|
// marks all class result as shared for other creations, so there's just
|
||||||
|
// one instance for the whole execution
|
||||||
|
'shared' => true,
|
||||||
|
],
|
||||||
'$basepath' => [
|
'$basepath' => [
|
||||||
'instanceOf' => Util\BasePath::class,
|
'instanceOf' => Util\BasePath::class,
|
||||||
'call' => [
|
'call' => [
|
||||||
|
@ -36,7 +41,6 @@ return [
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
Util\BasePath::class => [
|
Util\BasePath::class => [
|
||||||
'shared' => true,
|
|
||||||
'constructParams' => [
|
'constructParams' => [
|
||||||
dirname(__FILE__, 2),
|
dirname(__FILE__, 2),
|
||||||
$_SERVER
|
$_SERVER
|
||||||
|
@ -53,15 +57,11 @@ return [
|
||||||
'call' => [
|
'call' => [
|
||||||
['createCache', [], Dice::CHAIN_CALL],
|
['createCache', [], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
'shared' => true,
|
|
||||||
],
|
],
|
||||||
App\Mode::class => [
|
App\Mode::class => [
|
||||||
'call' => [
|
'call' => [
|
||||||
['determine', [], Dice::CHAIN_CALL],
|
['determine', [], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
// marks the result as shared for other creations, so there's just
|
|
||||||
// one instance for the whole execution
|
|
||||||
'shared' => true,
|
|
||||||
],
|
],
|
||||||
Config\Configuration::class => [
|
Config\Configuration::class => [
|
||||||
'shared' => true,
|
'shared' => true,
|
||||||
|
@ -71,14 +71,12 @@ return [
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
Config\PConfiguration::class => [
|
Config\PConfiguration::class => [
|
||||||
'shared' => true,
|
|
||||||
'instanceOf' => Factory\ConfigFactory::class,
|
'instanceOf' => Factory\ConfigFactory::class,
|
||||||
'call' => [
|
'call' => [
|
||||||
['createPConfig', [], Dice::CHAIN_CALL],
|
['createPConfig', [], Dice::CHAIN_CALL],
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
Database::class => [
|
Database::class => [
|
||||||
'shared' => true,
|
|
||||||
'constructParams' => [
|
'constructParams' => [
|
||||||
[DICE::INSTANCE => \Psr\Log\NullLogger::class],
|
[DICE::INSTANCE => \Psr\Log\NullLogger::class],
|
||||||
$_SERVER,
|
$_SERVER,
|
||||||
|
@ -91,7 +89,6 @@ return [
|
||||||
* $baseURL = new Util\BaseURL($configuration, $_SERVER);
|
* $baseURL = new Util\BaseURL($configuration, $_SERVER);
|
||||||
*/
|
*/
|
||||||
Util\BaseURL::class => [
|
Util\BaseURL::class => [
|
||||||
'shared' => true,
|
|
||||||
'constructParams' => [
|
'constructParams' => [
|
||||||
$_SERVER,
|
$_SERVER,
|
||||||
],
|
],
|
||||||
|
@ -109,17 +106,15 @@ return [
|
||||||
* and is automatically passed as an argument with the same name
|
* and is automatically passed as an argument with the same name
|
||||||
*/
|
*/
|
||||||
LoggerInterface::class => [
|
LoggerInterface::class => [
|
||||||
'shared' => true,
|
|
||||||
'instanceOf' => Factory\LoggerFactory::class,
|
'instanceOf' => Factory\LoggerFactory::class,
|
||||||
'call' => [
|
'call' => [
|
||||||
['create', [], Dice::CHAIN_CALL],
|
['create', [], Dice::CHAIN_CALL],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'$devLogger' => [
|
'$devLogger' => [
|
||||||
'shared' => true,
|
|
||||||
'instanceOf' => Factory\LoggerFactory::class,
|
'instanceOf' => Factory\LoggerFactory::class,
|
||||||
'call' => [
|
'call' => [
|
||||||
['createDev', [], Dice::CHAIN_CALL],
|
['createDev', [], Dice::CHAIN_CALL],
|
||||||
]
|
]
|
||||||
]
|
],
|
||||||
];
|
];
|
||||||
|
|
|
@ -83,6 +83,8 @@ class dependencyCheck extends TestCase
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
// create new DI-library because of shared instance rule (so the Profiler wouldn't get created twice)
|
||||||
|
$this->dice = new Dice(include __DIR__ . '/../../static/dependencies.config.php');
|
||||||
$profiler = $this->dice->create(Profiler::class, [$configCache]);
|
$profiler = $this->dice->create(Profiler::class, [$configCache]);
|
||||||
|
|
||||||
$this->assertInstanceOf(Profiler::class, $profiler);
|
$this->assertInstanceOf(Profiler::class, $profiler);
|
||||||
|
|
|
@ -9,7 +9,6 @@ class SystemTest extends TestCase
|
||||||
{
|
{
|
||||||
private function assertGuid($guid, $length, $prefix = '')
|
private function assertGuid($guid, $length, $prefix = '')
|
||||||
{
|
{
|
||||||
print $guid;
|
|
||||||
$length -= strlen($prefix);
|
$length -= strlen($prefix);
|
||||||
$this->assertRegExp("/^" . $prefix . "[a-z0-9]{" . $length . "}?$/", $guid);
|
$this->assertRegExp("/^" . $prefix . "[a-z0-9]{" . $length . "}?$/", $guid);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue