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

/**
 * Default implementation of {@ConstraintViolationInterface}.
 *
 * @author Bernhard Schussek <bschussek@gmail.com>
 */
class ConstraintViolation implements ConstraintViolationInterface
{
    
/**
     * @var string
     */
    
private $message;

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

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

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

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

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

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

    
/**
     * @var Constraint|null
     */
    
private $constraint;

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

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

    
/**
     * Creates a new constraint violation.
     *
     * @param string          $message         The violation message
     * @param string          $messageTemplate The raw violation message
     * @param array           $parameters      The parameters to substitute in the
     *                                         raw violation message
     * @param mixed           $root            The value originally passed to the
     *                                         validator
     * @param string          $propertyPath    The property path from the root
     *                                         value to the invalid value
     * @param mixed           $invalidValue    The invalid value that caused this
     *                                         violation
     * @param int|null        $plural          The number for determining the plural
     *                                         form when translating the message
     * @param mixed           $code            The error code of the violation
     * @param Constraint|null $constraint      The constraint whose validation
     *                                         caused the violation
     * @param mixed           $cause           The cause of the violation
     */
    
public function __construct($message$messageTemplate, array $parameters$root$propertyPath$invalidValue$plural null$code nullConstraint $constraint null$cause null)
    {
        
$this->message $message;
        
$this->messageTemplate $messageTemplate;
        
$this->parameters $parameters;
        
$this->plural $plural;
        
$this->root $root;
        
$this->propertyPath $propertyPath;
        
$this->invalidValue $invalidValue;
        
$this->constraint $constraint;
        
$this->code $code;
        
$this->cause $cause;
    }

    
/**
     * Converts the violation into a string for debugging purposes.
     *
     * @return string The violation as string.
     */
    
public function __toString()
    {
        if (
is_object($this->root)) {
            
$class 'Object('.get_class($this->root).')';
        } elseif (
is_array($this->root)) {
            
$class 'Array';
        } else {
            
$class = (string) $this->root;
        }

        
$propertyPath = (string) $this->propertyPath;
        
$code $this->code;

        if (
'' !== $propertyPath && '[' !== $propertyPath[0] && '' !== $class) {
            
$class .= '.';
        }

        if (!empty(
$code)) {
            
$code ' (code '.$code.')';
        }

        return 
$class.$propertyPath.":n    ".$this->getMessage().$code;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getMessageTemplate()
    {
        return 
$this->messageTemplate;
    }

    
/**
     * {@inheritdoc}
     *
     * @deprecated since version 2.7, to be removed in 3.0.
     *             Use getParameters() instead
     */
    
public function getMessageParameters()
    {
        
trigger_error('The '.__METHOD__.' method is deprecated since version 2.7, to be removed in 3.0. Use the ConstraintViolation::getParameters() method instead.'E_USER_DEPRECATED);

        return 
$this->parameters;
    }

    
/**
     * Alias of {@link getMessageParameters()}.
     */
    
public function getParameters()
    {
        return 
$this->parameters;
    }

    
/**
     * {@inheritdoc}
     *
     * @deprecated since version 2.7, to be removed in 3.0.
     *             Use getPlural() instead
     */
    
public function getMessagePluralization()
    {
        
trigger_error('The '.__METHOD__.' method is deprecated since version 2.7, to be removed in 3.0. Use the ConstraintViolation::getPlural() method instead.'E_USER_DEPRECATED);

        return 
$this->plural;
    }

    
/**
     * Alias of {@link getMessagePluralization()}.
     */
    
public function getPlural()
    {
        return 
$this->plural;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getMessage()
    {
        return 
$this->message;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getRoot()
    {
        return 
$this->root;
    }

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

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

    
/**
     * Returns the constraint whose validation caused the violation.
     *
     * @return Constraint|null The constraint or null if it is not known
     */
    
public function getConstraint()
    {
        return 
$this->constraint;
    }

    
/**
     * Returns the cause of the violation.
     *
     * @return mixed
     */
    
public function getCause()
    {
        return 
$this->cause;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getCode()
    {
        return 
$this->code;
    }
}
Онлайн: 1
Реклама