public function handle($className, Property $property) { try { if ($type = $this->guesser->guessType($className, $property->getName())) { $property->addType($this->getPropertyType($type)); $property->setFormat($this->getPropertyFormat($type)); if (in_array($type->getType(), array('document', 'entity'))) { $options = $type->getOptions(); if (isset($options['class']) && $this->registry->hasNamespace($options['class'])) { $alias = $this->registry->getAlias($options['class']); if ($alias) { $property->setObject($alias); if (isset($options['multiple']) && $options['multiple'] == true) { $property->setMultiple(true); } } } } } if ($required = $this->guesser->guessRequired($className, $property->getName())) { $property->setRequired($required->getValue()); } if ($pattern = $this->guesser->guessPattern($className, $property->getName())) { $property->setPattern($pattern->getValue()); } if ($maximum = $this->guesser->guessMaxLength($className, $property->getName())) { $property->setMaximum($maximum->getValue()); } if ($property->getTitle() == null) { $title = ucwords(str_replace('_', ' ', Inflector::tableize($property->getName()))); $property->setTitle($title); } } catch (MappingException $e) { } }