diff --git a/src/DI/Definitions/Reference.php b/src/DI/Definitions/Reference.php index f6de3ade8..d7b94584e 100644 --- a/src/DI/Definitions/Reference.php +++ b/src/DI/Definitions/Reference.php @@ -19,7 +19,10 @@ final class Reference { use Nette\SmartObject; - public const SELF = 'self'; + public const Self = 'self'; + + /** @deprecated use Reference::Self */ + public const SELF = self::Self; /** @var string */ private $value; @@ -49,7 +52,7 @@ public function getValue(): string public function isName(): bool { - return strpos($this->value, '\\') === false && $this->value !== self::SELF; + return strpos($this->value, '\\') === false && $this->value !== self::Self; } @@ -61,6 +64,6 @@ public function isType(): bool public function isSelf(): bool { - return $this->value === self::SELF; + return $this->value === self::Self; } } diff --git a/src/DI/Definitions/ServiceDefinition.php b/src/DI/Definitions/ServiceDefinition.php index ba208741a..5868964f5 100644 --- a/src/DI/Definitions/ServiceDefinition.php +++ b/src/DI/Definitions/ServiceDefinition.php @@ -182,7 +182,7 @@ public function complete(Nette\DI\Resolver $resolver): void is_string($setup->getEntity()) && strpbrk($setup->getEntity(), ':@?\\') === false ) { // auto-prepend @self - $setup = new Statement([new Reference(Reference::SELF), $setup->getEntity()], $setup->arguments); + $setup = new Statement([new Reference(Reference::Self), $setup->getEntity()], $setup->arguments); } $setup = $resolver->completeStatement($setup, true); diff --git a/src/DI/DependencyChecker.php b/src/DI/DependencyChecker.php index 884950e67..89f03ae51 100644 --- a/src/DI/DependencyChecker.php +++ b/src/DI/DependencyChecker.php @@ -23,7 +23,10 @@ class DependencyChecker { use Nette\SmartObject; - public const VERSION = 1; + public const Version = 1; + + /** @deprecated use DependencyChecker::Version */ + public const VERSION = self::Version; /** @var array of ReflectionClass|\ReflectionFunctionAbstract|string */ private $dependencies = []; @@ -73,7 +76,7 @@ public function export(): array $hash = self::calculateHash($classes, $functions); $files = @array_map('filemtime', array_combine($files, $files)); // @ - file may not exist $phpFiles = @array_map('filemtime', array_combine($phpFiles, $phpFiles)); // @ - file may not exist - return [self::VERSION, $files, $phpFiles, $classes, $functions, $hash]; + return [self::Version, $files, $phpFiles, $classes, $functions, $hash]; } @@ -93,7 +96,7 @@ public static function isExpired( $currentFiles = @array_map('filemtime', array_combine($tmp = array_keys($files), $tmp)); // @ - files may not exist $origPhpFiles = $phpFiles; $phpFiles = @array_map('filemtime', array_combine($tmp = array_keys($phpFiles), $tmp)); // @ - files may not exist - return $version !== self::VERSION + return $version !== self::Version || $files !== $currentFiles || ($phpFiles !== $origPhpFiles && $hash !== self::calculateHash($classes, $functions)); } catch (\ReflectionException $e) { diff --git a/src/DI/Extensions/DecoratorExtension.php b/src/DI/Extensions/DecoratorExtension.php index b570c3fc7..51d247058 100644 --- a/src/DI/Extensions/DecoratorExtension.php +++ b/src/DI/Extensions/DecoratorExtension.php @@ -39,7 +39,7 @@ public function beforeCompile() } if ($info->inject !== null) { - $info->tags[InjectExtension::TAG_INJECT] = $info->inject; + $info->tags[InjectExtension::TagInject] = $info->inject; } $this->addSetups($type, Nette\DI\Helpers::filterArguments($info->setup)); diff --git a/src/DI/Extensions/InjectExtension.php b/src/DI/Extensions/InjectExtension.php index 47f4aca63..a27ebd4d8 100644 --- a/src/DI/Extensions/InjectExtension.php +++ b/src/DI/Extensions/InjectExtension.php @@ -20,7 +20,10 @@ */ final class InjectExtension extends DI\CompilerExtension { - public const TAG_INJECT = 'nette.inject'; + public const TagInject = 'nette.inject'; + + /** @deprecated use InjectExtension::TagInject */ + public const TAG_INJECT = self::TagInject; public function getConfigSchema(): Nette\Schema\Schema @@ -32,7 +35,7 @@ public function getConfigSchema(): Nette\Schema\Schema public function beforeCompile() { foreach ($this->getContainerBuilder()->getDefinitions() as $def) { - if ($def->getTag(self::TAG_INJECT)) { + if ($def->getTag(self::TagInject)) { $def = $def instanceof Definitions\FactoryDefinition ? $def->getResultDefinition() : $def; diff --git a/src/DI/Extensions/ServicesExtension.php b/src/DI/Extensions/ServicesExtension.php index 2ea4e37ab..7a92aeedd 100644 --- a/src/DI/Extensions/ServicesExtension.php +++ b/src/DI/Extensions/ServicesExtension.php @@ -113,7 +113,7 @@ private function updateServiceDefinition(Definitions\ServiceDefinition $definiti } if (isset($config->inject)) { - $definition->addTag(InjectExtension::TAG_INJECT, $config->inject); + $definition->addTag(InjectExtension::TagInject, $config->inject); } } @@ -175,7 +175,7 @@ private function updateFactoryDefinition(Definitions\FactoryDefinition $definiti } if (isset($config->inject)) { - $definition->addTag(InjectExtension::TAG_INJECT, $config->inject); + $definition->addTag(InjectExtension::TagInject, $config->inject); } } diff --git a/src/DI/Resolver.php b/src/DI/Resolver.php index 6de73f26d..8d23a483e 100644 --- a/src/DI/Resolver.php +++ b/src/DI/Resolver.php @@ -382,7 +382,7 @@ public function normalizeReference(Reference $ref): Reference } return $this->currentService && $service === $this->currentService->getName() - ? new Reference(Reference::SELF) + ? new Reference(Reference::Self) : $ref; } @@ -414,7 +414,7 @@ public function getByType(string $type): Reference && $this->currentServiceAllowed && is_a($this->currentServiceType, $type, true) ) { - return new Reference(Reference::SELF); + return new Reference(Reference::Self); } $name = $this->builder->getByType($type, true); diff --git a/tests/DI/Compiler.dependencies.phpt b/tests/DI/Compiler.dependencies.phpt index 6fe0e5169..02cf5d733 100644 --- a/tests/DI/Compiler.dependencies.phpt +++ b/tests/DI/Compiler.dependencies.phpt @@ -17,7 +17,7 @@ $compiler = new DI\Compiler; Assert::same( [ - DependencyChecker::VERSION, + DependencyChecker::Version, [], [], [], @@ -32,7 +32,7 @@ Assert::false(DependencyChecker::isExpired(...$compiler->exportDependencies())); $compiler->addDependencies(['file1', __FILE__]); Assert::same( [ - DependencyChecker::VERSION, + DependencyChecker::Version, ['file1' => false, __FILE__ => filemtime(__FILE__)], [], [], @@ -47,7 +47,7 @@ Assert::false(DependencyChecker::isExpired(...$compiler->exportDependencies())); $compiler->addDependencies(['file1', null, 'file3']); Assert::same( [ - DependencyChecker::VERSION, + DependencyChecker::Version, ['file1' => false, __FILE__ => filemtime(__FILE__), 'file3' => false], [], [], @@ -70,7 +70,7 @@ if (PHP_VERSION_ID >= 80100) { $compiler->addDependencies([new ReflectionClass(Dep1::class)]); Assert::same( [ - DependencyChecker::VERSION, + DependencyChecker::Version, ['file1' => false, __FILE__ => filemtime(__FILE__), 'file3' => false], [$file => filemtime($file)], ['Dep1'], diff --git a/tests/DI/DecoratorExtension.basic.phpt b/tests/DI/DecoratorExtension.basic.phpt index 8747145a9..838bc71bb 100644 --- a/tests/DI/DecoratorExtension.basic.phpt +++ b/tests/DI/DecoratorExtension.basic.phpt @@ -77,11 +77,11 @@ services: $builder = $compiler->getContainerBuilder(); Assert::same( - ['a' => true, 'tag' => 2, DI\Extensions\InjectExtension::TAG_INJECT => true, 'Iface' => true], + ['a' => true, 'tag' => 2, DI\Extensions\InjectExtension::TagInject => true, 'Iface' => true], $builder->getDefinition('one')->getTags() ); -Assert::true($builder->getDefinition('one')->getTag(DI\Extensions\InjectExtension::TAG_INJECT)); +Assert::true($builder->getDefinition('one')->getTag(DI\Extensions\InjectExtension::TagInject)); Assert::equal([ new Statement([new Reference('self'), 'setup'], ['Service']), diff --git a/tests/DI/DecoratorExtension.factories.accessor.phpt b/tests/DI/DecoratorExtension.factories.accessor.phpt index 9c5ceaeee..8d6b52fbd 100644 --- a/tests/DI/DecoratorExtension.factories.accessor.phpt +++ b/tests/DI/DecoratorExtension.factories.accessor.phpt @@ -38,8 +38,8 @@ services: $builder = $compiler->getContainerBuilder(); -Assert::true($builder->getDefinition('foo')->getTag(DI\Extensions\InjectExtension::TAG_INJECT)); +Assert::true($builder->getDefinition('foo')->getTag(DI\Extensions\InjectExtension::TagInject)); Assert::null($builder->getDefinition('foo')->getTag('a')); -Assert::null($builder->getDefinition('acc')->getTag(DI\Extensions\InjectExtension::TAG_INJECT)); +Assert::null($builder->getDefinition('acc')->getTag(DI\Extensions\InjectExtension::TagInject)); Assert::true($builder->getDefinition('acc')->getTag('a')); diff --git a/tests/DI/DecoratorExtension.factories.phpt b/tests/DI/DecoratorExtension.factories.phpt index 56c8a2c1a..ba99a41dc 100644 --- a/tests/DI/DecoratorExtension.factories.phpt +++ b/tests/DI/DecoratorExtension.factories.phpt @@ -51,10 +51,10 @@ services: $builder = $compiler->getContainerBuilder(); -Assert::true($builder->getDefinition('foo')->getTag(DI\Extensions\InjectExtension::TAG_INJECT)); +Assert::true($builder->getDefinition('foo')->getTag(DI\Extensions\InjectExtension::TagInject)); Assert::true($builder->getDefinition('foo')->getTag('a')); Assert::count(1, $builder->getDefinition('foo')->getResultDefinition()->getSetup()); -Assert::true($builder->getDefinition('bar')->getTag(DI\Extensions\InjectExtension::TAG_INJECT)); +Assert::true($builder->getDefinition('bar')->getTag(DI\Extensions\InjectExtension::TagInject)); Assert::true($builder->getDefinition('bar')->getTag('a')); Assert::count(1, $builder->getDefinition('bar')->getResultDefinition()->getSetup()); diff --git a/tests/DI/Definitions.Reference.phpt b/tests/DI/Definitions.Reference.phpt index 8ab7fa0aa..593be3723 100644 --- a/tests/DI/Definitions.Reference.phpt +++ b/tests/DI/Definitions.Reference.phpt @@ -34,8 +34,8 @@ Assert::false($ref->isSelf()); Assert::same('\a', $ref->getValue()); -$ref = new Reference(Reference::SELF); +$ref = new Reference(Reference::Self); Assert::false($ref->isName()); Assert::false($ref->isType()); Assert::true($ref->isSelf()); -Assert::same(Reference::SELF, $ref->getValue()); +Assert::same(Reference::Self, $ref->getValue()); diff --git a/tests/DI/InjectExtension.basic.phpt b/tests/DI/InjectExtension.basic.phpt index f1c80294f..38de3ce1d 100644 --- a/tests/DI/InjectExtension.basic.phpt +++ b/tests/DI/InjectExtension.basic.phpt @@ -77,7 +77,7 @@ class LastExtension extends DI\CompilerExtension $this->getContainerBuilder()->addDefinition($this->prefix('one')) ->setType(Service::class) ->addSetup('$e', ['@\ConcreteDependencyA']) - ->addTag(Nette\DI\Extensions\InjectExtension::TAG_INJECT); + ->addTag(Nette\DI\Extensions\InjectExtension::TagInject); } }