Skip to content

Commit b78e30e

Browse files
committed
Make the Twig extension lazy
1 parent b7da3df commit b78e30e

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

src/Resources/config/twig.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616
param('misd_phone_number.twig.default_region'),
1717
param('misd_phone_number.twig.format'),
1818
])
19+
->tag('twig.runtime')
1920

2021
->set(PhoneNumberHelperExtension::class)
21-
->tag('twig.extension')
22-
->args([
23-
service(PhoneNumberHelper::class),
24-
]);
22+
->tag('twig.extension');
2523
};

src/Twig/Extension/PhoneNumberHelperExtension.php

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,43 @@ class PhoneNumberHelperExtension extends AbstractExtension
2626
/**
2727
* Phone number helper.
2828
*
29-
* @var PhoneNumberHelper
29+
* @var PhoneNumberHelper|null
30+
*
31+
* @deprecated Use the PhoneNumberHelper as a Twig Runtime service instead
3032
*/
3133
protected $helper;
3234

3335
/**
3436
* Constructor.
3537
*
36-
* @param PhoneNumberHelper $helper phone number helper
38+
* @param PhoneNumberHelper|null $helper phone number helper, no longer directly used
3739
*/
38-
public function __construct(PhoneNumberHelper $helper)
40+
public function __construct(?PhoneNumberHelper $helper = null)
3941
{
40-
$this->helper = $helper;
42+
if (null !== $helper) {
43+
trigger_deprecation('odolbeau/phone-number-bundle', '4.3', 'Passing the "%s" to "%s" is deprecated in favor of using it as a Twig Runtime service.', PhoneNumberHelper::class, self::class);
44+
}
4145
}
4246

4347
public function getFilters(): array
4448
{
4549
return [
46-
new TwigFilter('phone_number_format', [$this->helper, 'format']),
47-
new TwigFilter('phone_number_format_out_of_country_calling_number', [$this->helper, 'formatOutOfCountryCallingNumber']),
50+
new TwigFilter('phone_number_format', [PhoneNumberHelper::class, 'format']),
51+
new TwigFilter('phone_number_format_out_of_country_calling_number', [PhoneNumberHelper::class, 'formatOutOfCountryCallingNumber']),
4852
];
4953
}
5054

5155
public function getTests(): array
5256
{
5357
return [
54-
new TwigTest('phone_number_of_type', [$this->helper, 'isType']),
58+
new TwigTest('phone_number_of_type', [PhoneNumberHelper::class, 'isType']),
5559
];
5660
}
5761

5862
/**
5963
* @return string
64+
*
65+
* @deprecated Unused by Twig since 2.0
6066
*/
6167
public function getName()
6268
{

0 commit comments

Comments
 (0)