PATH:
opt
/
alt
/
php54
/
usr
/
share
/
pear
/
Symfony
/
Component
/
Form
<?php /* * 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. */ namespace Symfony\Component\Form; use Symfony\Component\Form\Guess\Guess; use Symfony\Component\Form\Exception\UnexpectedTypeException; class FormTypeGuesserChain implements FormTypeGuesserInterface { private $guessers = array(); /** * Constructor. * * @param FormTypeGuesserInterface[] $guessers Guessers as instances of FormTypeGuesserInterface * * @throws UnexpectedTypeException if any guesser does not implement FormTypeGuesserInterface */ public function __construct(array $guessers) { foreach ($guessers as $guesser) { if (!$guesser instanceof FormTypeGuesserInterface) { throw new UnexpectedTypeException($guesser, 'Symfony\Component\Form\FormTypeGuesserInterface'); } if ($guesser instanceof self) { $this->guessers = array_merge($this->guessers, $guesser->guessers); } else { $this->guessers[] = $guesser; } } } /** * {@inheritDoc} */ public function guessType($class, $property) { return $this->guess(function ($guesser) use ($class, $property) { return $guesser->guessType($class, $property); }); } /** * {@inheritDoc} */ public function guessRequired($class, $property) { return $this->guess(function ($guesser) use ($class, $property) { return $guesser->guessRequired($class, $property); }); } /** * {@inheritDoc} */ public function guessMaxLength($class, $property) { return $this->guess(function ($guesser) use ($class, $property) { return $guesser->guessMaxLength($class, $property); }); } /** * {@inheritDoc} */ public function guessPattern($class, $property) { return $this->guess(function ($guesser) use ($class, $property) { return $guesser->guessPattern($class, $property); }); } /** * Executes a closure for each guesser and returns the best guess from the * return values * * @param \Closure $closure The closure to execute. Accepts a guesser * as argument and should return a Guess instance * * @return Guess|null The guess with the highest confidence */ private function guess(\Closure $closure) { $guesses = array(); foreach ($this->guessers as $guesser) { if ($guess = $closure($guesser)) { $guesses[] = $guess; } } return Guess::getBestGuess($guesses); } }
[-] FormInterface.php
[open]
[+]
..
[-] FormView.php
[open]
[-] FormTypeGuesserInterface.php
[open]
[-] FormConfigBuilderInterface.php
[open]
[-] ResolvedFormTypeInterface.php
[open]
[-] ButtonTypeInterface.php
[open]
[-] FormFactoryInterface.php
[open]
[-] ResolvedFormTypeFactoryInterface.php
[open]
[-] RequestHandlerInterface.php
[open]
[-] CallbackTransformer.php
[open]
[-] FormRendererInterface.php
[open]
[-] ResolvedFormType.php
[open]
[-] ClickableInterface.php
[open]
[-] FormBuilder.php
[open]
[-] SubmitButtonBuilder.php
[open]
[-] FormEvent.php
[open]
[-] ReversedTransformer.php
[open]
[+]
Guess
[-] FormRegistry.php
[open]
[-] FormTypeExtensionInterface.php
[open]
[-] Forms.php
[open]
[-] FormTypeGuesserChain.php
[open]
[-] Button.php
[open]
[-] SubmitButtonTypeInterface.php
[open]
[-] AbstractExtension.php
[open]
[-] NativeRequestHandler.php
[open]
[-] DataMapperInterface.php
[open]
[-] FormRenderer.php
[open]
[-] FormError.php
[open]
[-] autoloader.php
[open]
[-] SubmitButton.php
[open]
[-] Form.php
[open]
[+]
Resources
[-] FormRegistryInterface.php
[open]
[-] FormFactoryBuilderInterface.php
[open]
[-] FormBuilderInterface.php
[open]
[-] FormConfigBuilder.php
[open]
[-] FormConfigInterface.php
[open]
[-] AbstractRendererEngine.php
[open]
[-] DataTransformerInterface.php
[open]
[-] FormEvents.php
[open]
[+]
Util
[-] FormFactoryBuilder.php
[open]
[+]
Extension
[-] ButtonBuilder.php
[open]
[-] AbstractTypeExtension.php
[open]
[-] FormTypeInterface.php
[open]
[-] AbstractType.php
[open]
[+]
Test
[-] FormExtensionInterface.php
[open]
[-] FormRendererEngineInterface.php
[open]
[-] PreloadedExtension.php
[open]
[+]
Exception
[-] FormFactory.php
[open]
[-] ResolvedFormTypeFactory.php
[open]