0bf566310c
Conflicts: src/Symfony/Component/Form/BirthdayField.php src/Symfony/Component/Form/CheckboxField.php src/Symfony/Component/Form/ChoiceField.php src/Symfony/Component/Form/ChoiceList/TimeZoneChoiceList.php src/Symfony/Component/Form/CollectionField.php src/Symfony/Component/Form/DateField.php src/Symfony/Component/Form/DateTimeField.php src/Symfony/Component/Form/EntityChoiceField.php src/Symfony/Component/Form/Events.php src/Symfony/Component/Form/FieldFactory/FieldFactory.php src/Symfony/Component/Form/FieldFactory/FieldFactoryInterface.php src/Symfony/Component/Form/FileField.php src/Symfony/Component/Form/Filters.php src/Symfony/Component/Form/FormContext.php src/Symfony/Component/Form/FormContextInterface.php src/Symfony/Component/Form/FormFactoryInterface.php src/Symfony/Component/Form/HybridField.php src/Symfony/Component/Form/IntegerField.php src/Symfony/Component/Form/LanguageField.php src/Symfony/Component/Form/LocaleField.php src/Symfony/Component/Form/MoneyField.php src/Symfony/Component/Form/NumberField.php src/Symfony/Component/Form/PasswordField.php src/Symfony/Component/Form/PercentField.php src/Symfony/Component/Form/RepeatedField.php src/Symfony/Component/Form/TextField.php src/Symfony/Component/Form/TimeField.php src/Symfony/Component/Form/ToggleField.php src/Symfony/Component/Form/UrlField.php src/Symfony/Component/HttpFoundation/File/UploadedFile.php tests/Symfony/Tests/Component/Form/FileFieldTest.php tests/Symfony/Tests/Component/Form/FormContextTest.php tests/Symfony/Tests/Component/Form/HiddenFieldTest.php
43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler;
|
|
|
|
/*
|
|
* This file is part of the Symfony package.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
|
use Symfony\Component\DependencyInjection\Reference;
|
|
|
|
/**
|
|
* Adds all services with the tag "form.guesser" as calls to the "addGuesser"
|
|
* method of the "form.factory" service
|
|
*
|
|
* @author Bernhard Schussek <bernhard.schussek@symfony.com>
|
|
*/
|
|
class AddFormGuessersPass implements CompilerPassInterface
|
|
{
|
|
public function process(ContainerBuilder $container)
|
|
{
|
|
if (!$container->hasDefinition('form.factory')) {
|
|
return;
|
|
}
|
|
|
|
// Builds an array with service IDs as keys and tag aliases as values
|
|
$guessers = array_map(function ($id) {
|
|
return new Reference($id);
|
|
}, array_keys($container->findTaggedServiceIds('form.guesser')));
|
|
|
|
$service = $container->getDefinition('form.factory');
|
|
|
|
foreach ($guessers as $guesser) {
|
|
$service->addMethodCall('addGuesser', array($guesser));
|
|
}
|
|
}
|
|
} |