Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/Validator/Violation/LegacyConstraintViolationBuilder.php
Строк: 139
<?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 SymfonyComponentValidatorViolation;

trigger_error('The '.__NAMESPACE__.'LegacyConstraintViolationBuilder class is deprecated since version 2.5 and will be removed in 3.0.'E_USER_DEPRECATED);

use 
SymfonyComponentValidatorExecutionContextInterface;

/**
 * Backwards-compatible implementation of {@link ConstraintViolationBuilderInterface}.
 *
 * @author Bernhard Schussek <bschussek@gmail.com>
 *
 * @internal You should not instantiate or use this class. Code against
 *           {@link ConstraintViolationBuilderInterface} instead.
 *
 * @deprecated since version 2.5.5, to be removed in 3.0.
 */
class LegacyConstraintViolationBuilder implements ConstraintViolationBuilderInterface
{
    
/**
     * @var ExecutionContextInterface
     */
    
private $context;

    
/**
     * @var string
     */
    
private $message;

    
/**
     * @var array
     */
    
private $parameters;

    
/**
     * @var mixed
     */
    
private $invalidValue;

    
/**
     * @var string
     */
    
private $propertyPath;

    
/**
     * @var int|null
     */
    
private $plural;

    
/**
     * @var mixed
     */
    
private $code;

    public function 
__construct(ExecutionContextInterface $context$message, array $parameters)
    {
        
$this->context $context;
        
$this->message $message;
        
$this->parameters $parameters;
        
$this->invalidValue $context->getValue();
    }

    
/**
     * {@inheritdoc}
     */
    
public function atPath($path)
    {
        
$this->propertyPath $path;

        return 
$this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function setParameter($key$value)
    {
        
$this->parameters[$key] = $value;

        return 
$this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function setParameters(array $parameters)
    {
        
$this->parameters $parameters;

        return 
$this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function setTranslationDomain($translationDomain)
    {
        
// can't be set in the old API

        
return $this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function setInvalidValue($invalidValue)
    {
        
$this->invalidValue $invalidValue;

        return 
$this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function setPlural($number)
    {
        
$this->plural $number;

        return 
$this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function setCode($code)
    {
        
$this->code $code;

        return 
$this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function setCause($cause)
    {
        
// do nothing - we can't save the cause through the old API

        
return $this;
    }

    
/**
     * {@inheritdoc}
     */
    
public function addViolation()
    {
        if (
$this->propertyPath) {
            
$this->context->addViolationAt($this->propertyPath$this->message$this->parameters$this->invalidValue$this->plural$this->code);

            return;
        }

        
$this->context->addViolation($this->message$this->parameters$this->invalidValue$this->plural$this->code);
    }
}
Онлайн: 0
Реклама