for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yiisoft\Di\Reference;
use Yiisoft\Definitions\Reference;
/**
* TagReference is a helper class used to specify a reference to a tag.
* For example, `TagReference::to('my-tag')` specifies a reference to all services that are tagged with `tag@my-tag`.
*/
final class TagReference
{
private const PREFIX = 'tag@';
private function __construct()
}
public static function to(string $tag): Reference
return Reference::to(self::PREFIX . $tag);
public static function extractTagFromAlias(string $alias): string
if (!str_starts_with($alias, self::PREFIX)) {
throw new \InvalidArgumentException(sprintf('Alias "%s" is not a tag alias.', $alias));
return substr($alias, 4);
public static function isTagAlias(string $id): bool
return str_starts_with($id, self::PREFIX);