Я пытаюсь реализовать Symfony \ Component \ Serializer \ Normalizer \ NormalizableInterface с использованием Symfony 2.0.9.
Я добавил реализацию следующим образом:
class MRoute implements NormalizableInterface{
...
public function normalize($object, $format = null)
{
$points = array();
foreach ($this->getPoints() as $point) {
$points[] = $point->normalize();
}
return array(
'id' => $this->getId(),
'name' => $this->getName(),
'points' => $points
);
}
/**
* @see
*/
function denormalize(NormalizerInterface $normalizer, $data, $format = null)
{
if (isset($data['name']))
{
$this->setName($data['name']);
}
if (isset($data['id']))
{
$this->setId($data['id']);
}
}
Но когда я пытаюсь получить доступ к веб-сервису, я получаю сообщение об ошибке, подобное этому:
Фатальная ошибка: объявление MyGIS \ GISBundle \ Entity \ MRoute :: normalize () должно быть совместимо с Symfony \ Component \ Serializer \ Normalizer \ NormalizableInterface :: normalize () в C: \ NetbeansProjects \ mroute_rest_service \ src \ MyGIS \ GISBundle \ Entity \ MRoute.php в строке 16
Я открыл Symfony \ Component \ Serializer \ Normalizer \ NormalizableInterface.php, и подписи совпадают.
Что я делаю не так?