diff --git a/composer.lock b/composer.lock index 3607544b662b60e8219f8427f8a48dbffbe464c9..8356f20cc93ba1453e260ed4726c4466f4fd6c33 100644 --- a/composer.lock +++ b/composer.lock @@ -272,12 +272,12 @@ "source": { "type": "git", "url": "https://github.com/mnapoli/PHP-DI.git", - "reference": "ee5145095555c4532220eab991bf7782e9a645c6" + "reference": "92e2f01c7f2076649235aa50f415dda11b87e6da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mnapoli/PHP-DI/zipball/ee5145095555c4532220eab991bf7782e9a645c6", - "reference": "ee5145095555c4532220eab991bf7782e9a645c6", + "url": "https://api.github.com/repos/mnapoli/PHP-DI/zipball/92e2f01c7f2076649235aa50f415dda11b87e6da", + "reference": "92e2f01c7f2076649235aa50f415dda11b87e6da", "shasum": "" }, "require": { @@ -289,9 +289,9 @@ "php": ">=5.3.3" }, "require-dev": { - "mnapoli/phpunit-easymock": "~0.1.1", + "mnapoli/phpunit-easymock": "~0.1.4", "ocramius/proxy-manager": "~0.5", - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "~4.5" }, "suggest": { "ocramius/proxy-manager": "Install it if you want to use lazy injection (version ~0.5)" @@ -321,7 +321,7 @@ "dependency injection", "di" ], - "time": "2015-01-29 03:02:32" + "time": "2015-04-12 06:13:26" }, { "name": "mnapoli/phpdocreader", diff --git a/config/environment/cli.php b/config/environment/cli.php index 2852c010074e61599e95827576d814a53cae5ef9..0db3009ad4a3bb580511c1554f82d9117016d305 100644 --- a/config/environment/cli.php +++ b/config/environment/cli.php @@ -10,7 +10,7 @@ return array( // Log 'log.handlers' => array( - DI\link('Symfony\Bridge\Monolog\Handler\ConsoleHandler'), + DI\get('Symfony\Bridge\Monolog\Handler\ConsoleHandler'), ), 'Symfony\Bridge\Monolog\Handler\ConsoleHandler' => function (ContainerInterface $c) { // Override the default verbosity map to make it more verbose by default diff --git a/config/environment/dev.php b/config/environment/dev.php index 0a730d708c826d6ae9a422d5538f287d04194dbf..a8bedecca99b17065fd9340afeaa9ae257af538e 100644 --- a/config/environment/dev.php +++ b/config/environment/dev.php @@ -5,8 +5,8 @@ return array( 'Piwik\Cache\Backend' => DI\object('Piwik\Cache\Backend\ArrayCache'), 'Piwik\Translation\Loader\LoaderInterface' => DI\object('Piwik\Translation\Loader\LoaderCache') - ->constructor(DI\link('Piwik\Translation\Loader\DevelopmentLoader')), + ->constructor(DI\get('Piwik\Translation\Loader\DevelopmentLoader')), 'Piwik\Translation\Loader\DevelopmentLoader' => DI\object() - ->constructor(DI\link('Piwik\Translation\Loader\JsonFileLoader')), + ->constructor(DI\get('Piwik\Translation\Loader\JsonFileLoader')), ); diff --git a/config/global.php b/config/global.php index aff73fcdba00409d733a1a115c5c5020e1f536b7..a803e1af7020fbdc34c01d5cb6a5992ff7caa3bc 100644 --- a/config/global.php +++ b/config/global.php @@ -53,6 +53,6 @@ return array( 'Psr\Log\LoggerInterface' => DI\object('Psr\Log\NullLogger'), 'Piwik\Translation\Loader\LoaderInterface' => DI\object('Piwik\Translation\Loader\LoaderCache') - ->constructor(DI\link('Piwik\Translation\Loader\JsonFileLoader')), + ->constructor(DI\get('Piwik\Translation\Loader\JsonFileLoader')), ); diff --git a/core/Container/IniConfigDefinitionSource.php b/core/Container/IniConfigDefinitionSource.php index 9f5b32c2266c791339671fe05e60fcbaea3582c4..a6bc9759ac8e2db9cc55130d7d8e45d5a0583976 100644 --- a/core/Container/IniConfigDefinitionSource.php +++ b/core/Container/IniConfigDefinitionSource.php @@ -9,14 +9,18 @@ namespace Piwik\Container; use DI\Definition\Exception\DefinitionException; -use DI\Definition\Source\ChainableDefinitionSource; +use DI\Definition\Source\DefinitionSource; use DI\Definition\ValueDefinition; use Piwik\Config; /** - * Import the old INI config into PHP-DI. + * Expose the INI config into PHP-DI. + * + * The INI config can be used by prefixing `ini.` before the setting we want to get: + * + * $maintenanceMode = $container->get('ini.General.maintenance_mode'); */ -class IniConfigDefinitionSource extends ChainableDefinitionSource +class IniConfigDefinitionSource implements DefinitionSource { /** * @var Config @@ -38,7 +42,10 @@ class IniConfigDefinitionSource extends ChainableDefinitionSource $this->prefix = $prefix; } - protected function findDefinition($name) + /** + * {@inheritdoc} + */ + public function getDefinition($name) { if (strpos($name, $this->prefix) !== 0) { return null; diff --git a/plugins/CoreUpdater/config/config.php b/plugins/CoreUpdater/config/config.php index 419e43cc7befa12bfe265e17767609b75923b778..0a69ab1b9dd737d9deced49d78e7e1f17a2122a6 100644 --- a/plugins/CoreUpdater/config/config.php +++ b/plugins/CoreUpdater/config/config.php @@ -2,5 +2,5 @@ return array( 'Piwik\Plugins\CoreUpdater\Updater' => DI\object() - ->constructorParameter('tmpPath', DI\link('path.tmp')), + ->constructorParameter('tmpPath', DI\get('path.tmp')), ); diff --git a/plugins/Monolog/config/config.php b/plugins/Monolog/config/config.php index 7005573ced9ee32fa39cacf0427bd99df967406b..3fd3fcf63a75067280d2abdfaaba8caee9f9e19b 100644 --- a/plugins/Monolog/config/config.php +++ b/plugins/Monolog/config/config.php @@ -7,7 +7,7 @@ use Piwik\Log; return array( 'Psr\Log\LoggerInterface' => DI\object('Monolog\Logger') - ->constructor('piwik', DI\link('log.handlers'), DI\link('log.processors')), + ->constructor('piwik', DI\get('log.handlers'), DI\get('log.processors')), 'log.handlers' => DI\factory(function (ContainerInterface $c) { if ($c->has('ini.log.log_writers')) { @@ -31,25 +31,25 @@ return array( }), 'log.processors' => array( - DI\link('Piwik\Plugins\Monolog\Processor\SprintfProcessor'), - DI\link('Piwik\Plugins\Monolog\Processor\ClassNameProcessor'), - DI\link('Piwik\Plugins\Monolog\Processor\RequestIdProcessor'), - DI\link('Piwik\Plugins\Monolog\Processor\ExceptionToTextProcessor'), - DI\link('Monolog\Processor\PsrLogMessageProcessor'), - DI\link('Piwik\Plugins\Monolog\Processor\TokenProcessor'), + DI\get('Piwik\Plugins\Monolog\Processor\SprintfProcessor'), + DI\get('Piwik\Plugins\Monolog\Processor\ClassNameProcessor'), + DI\get('Piwik\Plugins\Monolog\Processor\RequestIdProcessor'), + DI\get('Piwik\Plugins\Monolog\Processor\ExceptionToTextProcessor'), + DI\get('Monolog\Processor\PsrLogMessageProcessor'), + DI\get('Piwik\Plugins\Monolog\Processor\TokenProcessor'), ), 'Piwik\Plugins\Monolog\Handler\FileHandler' => DI\object() - ->constructor(DI\link('log.file.filename'), DI\link('log.level')) - ->method('setFormatter', DI\link('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')), + ->constructor(DI\get('log.file.filename'), DI\get('log.level')) + ->method('setFormatter', DI\get('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')), 'Piwik\Plugins\Monolog\Handler\DatabaseHandler' => DI\object() - ->constructor(DI\link('log.level')) - ->method('setFormatter', DI\link('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')), + ->constructor(DI\get('log.level')) + ->method('setFormatter', DI\get('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')), 'Piwik\Plugins\Monolog\Handler\WebNotificationHandler' => DI\object() - ->constructor(DI\link('log.level')) - ->method('setFormatter', DI\link('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')), + ->constructor(DI\get('log.level')) + ->method('setFormatter', DI\get('Piwik\Plugins\Monolog\Formatter\LineMessageFormatter')), 'log.level' => DI\factory(function (ContainerInterface $c) { if ($c->has('ini.log.log_level')) { @@ -88,7 +88,7 @@ return array( }), 'Piwik\Plugins\Monolog\Formatter\LineMessageFormatter' => DI\object() - ->constructor(DI\link('log.format')), + ->constructor(DI\get('log.format')), 'log.format' => DI\factory(function (ContainerInterface $c) { if ($c->has('ini.log.string_message_format')) { diff --git a/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php b/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php index e104df9a475cda1426b3dd33769777e4bc3c9489..264ef55ed7c82f03469183006ba64fe8fca9a95e 100644 --- a/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php +++ b/tests/PHPUnit/Unit/Container/IniConfigDefinitionSourceTest.php @@ -14,18 +14,6 @@ use Piwik\Container\IniConfigDefinitionSource; class IniConfigDefinitionSourceTest extends \PHPUnit_Framework_TestCase { - /** - * @test - */ - public function getDefinition_withMergeableDefinition_shouldReturnNull() - { - $definition = $this->getMockForAbstractClass('DI\Definition\MergeableDefinition'); - - $definitionSource = new IniConfigDefinitionSource($this->createConfig()); - - $this->assertNull($definitionSource->getDefinition('foo', $definition)); - } - /** * @test */