[PropertyAccess] Improve message of unitialized property in php 7.4
This commit is contained in:
parent
5da141b8d0
commit
3c8bf2d29d
@ -505,7 +505,7 @@ class PropertyAccessor implements PropertyAccessorInterface
|
||||
if (\PHP_VERSION_ID >= 70400 && preg_match('/^Typed property ([\w\\\]+)::\$(\w+) must not be accessed before initialization$/', $e->getMessage(), $matches)) {
|
||||
$r = new \ReflectionProperty($matches[1], $matches[2]);
|
||||
|
||||
throw new AccessException(sprintf('The property "%s::$%s" is not readable because it is typed "%3$s". You should either initialize it or make it nullable using "?%3$s" instead.', $r->getDeclaringClass()->getName(), $r->getName(), $r->getType()->getName()), 0, $e);
|
||||
throw new AccessException(sprintf('The property "%s::$%s" is not readable because it is typed "%2$s". You should initialize it or declare a default value instead.', $r->getDeclaringClass()->getName(), $r->getType()->getName()), 0, $e);
|
||||
}
|
||||
|
||||
throw $e;
|
||||
|
@ -126,7 +126,7 @@ class PropertyAccessorTest extends TestCase
|
||||
public function testGetValueThrowsExceptionIfUninitializedProperty()
|
||||
{
|
||||
$this->expectException('Symfony\Component\PropertyAccess\Exception\AccessException');
|
||||
$this->expectExceptionMessage('The property "Symfony\Component\PropertyAccess\Tests\Fixtures\UninitializedProperty::$uninitialized" is not readable because it is typed "string". You should either initialize it or make it nullable using "?string" instead.');
|
||||
$this->expectExceptionMessage('The property "Symfony\Component\PropertyAccess\Tests\Fixtures\UninitializedProperty::$uninitialized" is not readable because it is typed "string". You should initialize it or declare a default value instead.');
|
||||
|
||||
$this->propertyAccessor->getValue(new UninitializedProperty(), 'uninitialized');
|
||||
}
|
||||
|
Reference in New Issue
Block a user