Skip to content

Commit f34aaf8

Browse files
minor #49636 [HttpKernel] Renamed "pinned" to "targeted" for value resolvers (nicolas-grekas)
This PR was merged into the 6.3 branch. Discussion ---------- [HttpKernel] Renamed "pinned" to "targeted" for value resolvers | Q | A | ------------- | --- | Branch? | 6.3 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | - "pinned" was introduced in #48992 but a quick chat within the core-team lead to this proposal, which might be preferred. WDYT? Commits ------- ad58cc6 [HttpKernel] Renamed "pinned" to "targeted" for value resolvers
2 parents 898a723 + ad58cc6 commit f34aaf8

File tree

8 files changed

+22
-22
lines changed

8 files changed

+22
-22
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
use Symfony\Component\HttpClient\UriTemplateHttpClient;
8484
use Symfony\Component\HttpFoundation\Request;
8585
use Symfony\Component\HttpKernel\Attribute\AsController;
86-
use Symfony\Component\HttpKernel\Attribute\AsPinnedValueResolver;
86+
use Symfony\Component\HttpKernel\Attribute\AsTargetedValueResolver;
8787
use Symfony\Component\HttpKernel\CacheClearer\CacheClearerInterface;
8888
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface;
8989
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\BackedEnumValueResolver;
@@ -692,8 +692,8 @@ public function load(array $configs, ContainerBuilder $container)
692692
$definition->addTag('messenger.message_handler', $tagAttributes);
693693
});
694694

695-
$container->registerAttributeForAutoconfiguration(AsPinnedValueResolver::class, static function (ChildDefinition $definition, AsPinnedValueResolver $attribute): void {
696-
$definition->addTag('controller.pinned_value_resolver', $attribute->name ? ['name' => $attribute->name] : []);
695+
$container->registerAttributeForAutoconfiguration(AsTargetedValueResolver::class, static function (ChildDefinition $definition, AsTargetedValueResolver $attribute): void {
696+
$definition->addTag('controller.targeted_value_resolver', $attribute->name ? ['name' => $attribute->name] : []);
697697
});
698698

699699
if (!$container->getParameter('kernel.debug')) {

src/Symfony/Bundle/FrameworkBundle/Resources/config/web.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
->args([
4747
service('argument_metadata_factory'),
4848
abstract_arg('argument value resolvers'),
49-
abstract_arg('pinned value resolvers'),
49+
abstract_arg('targeted value resolvers'),
5050
])
5151

5252
->set('argument_resolver.backed_enum_resolver', BackedEnumValueResolver::class)

src/Symfony/Component/HttpKernel/Attribute/AsPinnedValueResolver.php renamed to src/Symfony/Component/HttpKernel/Attribute/AsTargetedValueResolver.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
namespace Symfony\Component\HttpKernel\Attribute;
1313

1414
/**
15-
* Service tag to autoconfigure pinned value resolvers.
15+
* Service tag to autoconfigure targeted value resolvers.
1616
*/
1717
#[\Attribute(\Attribute::TARGET_CLASS)]
18-
class AsPinnedValueResolver
18+
class AsTargetedValueResolver
1919
{
2020
public function __construct(
2121
public readonly ?string $name = null,

src/Symfony/Component/HttpKernel/Attribute/ValueResolver.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
class ValueResolver
1818
{
1919
/**
20-
* @param class-string<ValueResolverInterface>|string $name
20+
* @param class-string<ValueResolverInterface>|string $resolver
2121
*/
2222
public function __construct(
23-
public string $name,
23+
public string $resolver,
2424
public bool $disabled = false,
2525
) {
2626
}

src/Symfony/Component/HttpKernel/CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ CHANGELOG
1010
* Use an instance of `Psr\Clock\ClockInterface` to generate the current date time in `DateTimeValueResolver`
1111
* Add `#[WithLogLevel]` for defining log levels for exceptions
1212
* Add `skip_response_headers` to the `HttpCache` options
13-
* Introduce pinnable value resolvers with `#[ValueResolver]` and `#[AsPinnedValueResolver]`
13+
* Introduce targeted value resolvers with `#[ValueResolver]` and `#[AsTargetedValueResolver]`
1414

1515
6.2
1616
---

src/Symfony/Component/HttpKernel/Controller/ArgumentResolver.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,11 @@ public function getArguments(Request $request, callable $controller, \Reflection
5858
$resolverName = null;
5959
foreach ($attributes as $attribute) {
6060
if ($attribute->disabled) {
61-
$disabledResolvers[$attribute->name] = true;
61+
$disabledResolvers[$attribute->resolver] = true;
6262
} elseif ($resolverName) {
6363
throw new \LogicException(sprintf('You can only pin one resolver per argument, but argument "$%s" of "%s()" has more.', $metadata->getName(), $this->getPrettyName($controller)));
6464
} else {
65-
$resolverName = $attribute->name;
65+
$resolverName = $attribute->resolver;
6666
}
6767
}
6868

src/Symfony/Component/HttpKernel/DependencyInjection/ControllerArgumentValueResolverPass.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@ public function process(ContainerBuilder $container)
4040
}
4141

4242
$definitions = $container->getDefinitions();
43-
$namedResolvers = $this->findAndSortTaggedServices(new TaggedIteratorArgument('controller.pinned_value_resolver', 'name', needsIndexes: true), $container);
43+
$namedResolvers = $this->findAndSortTaggedServices(new TaggedIteratorArgument('controller.targeted_value_resolver', 'name', needsIndexes: true), $container);
4444
$resolvers = $this->findAndSortTaggedServices(new TaggedIteratorArgument('controller.argument_value_resolver', 'name', needsIndexes: true), $container);
4545

4646
foreach ($resolvers as $name => $resolverReference) {
4747
$id = (string) $resolverReference;
4848

49-
if ($definitions[$id]->hasTag('controller.pinned_value_resolver')) {
49+
if ($definitions[$id]->hasTag('controller.targeted_value_resolver')) {
5050
unset($resolvers[$name]);
5151
} else {
5252
$namedResolvers[$name] ??= clone $resolverReference;

src/Symfony/Component/HttpKernel/Tests/Controller/ArgumentResolverTest.php

+9-9
Original file line numberDiff line numberDiff line change
@@ -285,13 +285,13 @@ public function testGetSessionMissMatchOnNull()
285285
self::getResolver()->getArguments($request, $controller);
286286
}
287287

288-
public function testPinnedResolver()
288+
public function testTargetedResolver()
289289
{
290290
$resolver = self::getResolver([], [DefaultValueResolver::class => new DefaultValueResolver()]);
291291

292292
$request = Request::create('/');
293293
$request->attributes->set('foo', 'bar');
294-
$controller = $this->controllerPinningResolver(...);
294+
$controller = $this->controllerTargetingResolver(...);
295295

296296
$this->assertSame([1], $resolver->getArguments($request, $controller));
297297
}
@@ -307,23 +307,23 @@ public function testDisabledResolver()
307307
$this->assertSame([1], $resolver->getArguments($request, $controller));
308308
}
309309

310-
public function testManyPinnedResolvers()
310+
public function testManyTargetedResolvers()
311311
{
312312
$resolver = self::getResolver(namedResolvers: []);
313313

314314
$request = Request::create('/');
315-
$controller = $this->controllerPinningManyResolvers(...);
315+
$controller = $this->controllerTargetingManyResolvers(...);
316316

317317
$this->expectException(\LogicException::class);
318318
$resolver->getArguments($request, $controller);
319319
}
320320

321-
public function testUnknownPinnedResolver()
321+
public function testUnknownTargetedResolver()
322322
{
323323
$resolver = self::getResolver(namedResolvers: []);
324324

325325
$request = Request::create('/');
326-
$controller = $this->controllerPinningUnknownResolver(...);
326+
$controller = $this->controllerTargetingUnknownResolver(...);
327327

328328
$this->expectException(ResolverNotFoundException::class);
329329
$resolver->getArguments($request, $controller);
@@ -369,22 +369,22 @@ public function controllerWithExtendingSession(ExtendingSession $session)
369369
{
370370
}
371371

372-
public function controllerPinningResolver(#[ValueResolver(DefaultValueResolver::class)] int $foo = 1)
372+
public function controllerTargetingResolver(#[ValueResolver(DefaultValueResolver::class)] int $foo = 1)
373373
{
374374
}
375375

376376
public function controllerDisablingResolver(#[ValueResolver(RequestAttributeValueResolver::class, disabled: true)] int $foo = 1)
377377
{
378378
}
379379

380-
public function controllerPinningManyResolvers(
380+
public function controllerTargetingManyResolvers(
381381
#[ValueResolver(RequestAttributeValueResolver::class)]
382382
#[ValueResolver(DefaultValueResolver::class)]
383383
int $foo
384384
) {
385385
}
386386

387-
public function controllerPinningUnknownResolver(
387+
public function controllerTargetingUnknownResolver(
388388
#[ValueResolver('foo')]
389389
int $bar
390390
) {

0 commit comments

Comments
 (0)