feature #13752 [PropertyAccess] remove deprecations for 3.0 (Tobion)

This PR was merged into the 3.0-dev branch.

Discussion
----------

[PropertyAccess] remove deprecations for 3.0

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | -

Commits
-------

3bc87b5 [PropertyAccess] remove deprecations
This commit is contained in:
Fabien Potencier 2015-02-23 13:00:28 +01:00
commit fffcc24326
2 changed files with 8 additions and 33 deletions

View File

@ -25,25 +25,15 @@ class UnexpectedTypeException extends RuntimeException
* @param PropertyPathInterface $path The property path
* @param int $pathIndex The property path index when the unexpected value was found
*/
public function __construct($value, $path, $pathIndex = null)
public function __construct($value, PropertyPathInterface $path, $pathIndex)
{
if (func_num_args() === 3 && $path instanceof PropertyPathInterface) {
$message = sprintf(
'PropertyAccessor requires a graph of objects or arrays to operate on, '.
'but it found type "%s" while trying to traverse path "%s" at property "%s".',
gettype($value),
(string) $path,
$path->getElement($pathIndex)
);
} else {
trigger_error('The '.__CLASS__.' constructor now expects 3 arguments: the invalid property value, the '.__NAMESPACE__.'\PropertyPathInterface object and the current index of the property path.', E_USER_DEPRECATED);
$message = sprintf(
'Expected argument of type "%s", "%s" given',
$path,
is_object($value) ? get_class($value) : gettype($value)
);
}
$message = sprintf(
'PropertyAccessor requires a graph of objects or arrays to operate on, '.
'but it found type "%s" while trying to traverse path "%s" at property "%s".',
gettype($value),
(string) $path,
$path->getElement($pathIndex)
);
parent::__construct($message);
}

View File

@ -38,21 +38,6 @@ final class PropertyAccess
return new PropertyAccessorBuilder();
}
/**
* Alias of {@link createPropertyAccessor}.
*
* @return PropertyAccessor The new property accessor
*
* @deprecated since version 2.3, to be removed in 3.0.
* Use {@link createPropertyAccessor()} instead.
*/
public static function getPropertyAccessor()
{
trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0. Use the createPropertyAccessor() method instead.', E_USER_DEPRECATED);
return self::createPropertyAccessor();
}
/**
* This class cannot be instantiated.
*/