コード例 #1
0
 public function testSetGetGetterName()
 {
     $getter = 'getSomeData';
     $this->assertMethodChaining($this->object->setGetterName($getter), 'setGetterName');
     $this->assertSame($getter, $this->object->getGetterName());
 }
コード例 #2
0
 protected function extractProperty($object, PropertyDefinition $property)
 {
     $getterName = $property->getGetterName();
     if ($getterName) {
         if (method_exists($object, $getterName)) {
             return $property->extract($object->{$getterName}());
         }
     }
     $targetPropertyName = $property->getTargetPropertyName();
     try {
         $reflectionProperty = $this->getReflectionProperty($targetPropertyName);
         return $property->extract($reflectionProperty->getValue($object));
     } catch (\ReflectionException $e) {
     }
     if (property_exists($object, $targetPropertyName)) {
         return $property->extract($object->{$targetPropertyName});
     }
     $msg = 'Cannot extract data for property "' . $targetPropertyName . '" since it not exist';
     throw new InvalidValueException($msg);
 }