Symfony ve FOSRestBundle ile RESTful bir uygulama yapıyorum. FOSRestBundle, verileri json biçimine serileştirmek için JMS Seriazlizer'ı kullanır. Her şeyle ilgili küçük bir sorunum var. JMS Serializer bir özelliği göstermiyor
Bu
benim varlık sınıfı/**
* Post
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="Tomalo\AdminBundle\Entity\PostRepository")
* @ExclusionPolicy("none")
*/
class Post
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="content", type="text")
* @Assert\NotBlank()
*/
private $content;
/**
* @var float
*
* @ORM\Column(name="lat", type="float")
* @Assert\NotBlank()
*/
private $lat;
/**
* @var float
*
* @ORM\Column(name="lon", type="float")
* @Assert\NotBlank()
*/
private $lon;
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="datetime")
*/
private $date;
/**
* @var string
*
* @ORM\Column(name="sign", type="string", length=50, nullable=true)
* @Expose
*/
private $sign;
/**
* @var integer
*
* @ORM\Column(name="status", type="integer")
*/
private $status=0;
/**
* @var integer
*
* @ORM\Column(name="points", type="integer")
*/
private $points=0;
/**
* @var string
*
* @ORM\Column(name="uuid", type="string", length=43)
* @Assert\NotBlank()
* @Exclude
*/
private $uuid;
private $owner;
//get/set method continue
olduğunu ve bana böyle json geçerli:
benim varlık $ uuid olarak{
"id": 5,
"content": "zxcvzxcvzxc",
"lat": 37.422005,
"lon": -122.084095,
"date": "2013-05-20T05:06:57+0100",
"status": 0,
"points": 0,
"owner": 0
}
@Exclude ek açıklama haveing sadece özelliktir ve beklendiği gibi orada değil ama $ sign özelliği de eksik. Gördüğünüz gibi, $ işaretine @Expose ek açıklaması koydum ama hiçbir şey değiştirmedim. Ben ("tüm") @ExclusionPolicy kullanarak ve tüm uuid hariç maruz çalıştı ama yine de biraz php bug
bir fikrin yanlış nedirve nasıl düzeltmek için olduğu gibi bazı bilgiler buldum
Warning: json_encode(): recursion detected in E:\workspace\htdocs\tomalo\vendor\jms\serializer\src\JMS\Serializer\JsonSerializationVisitor.php line 29
alıyorum o?
i yerine nedeniyle ek açıklamaları kullanmanın ayrı dosyaları (xml/yml) da seri hale ve doktrin eşlemeleri yapılandırma tavsiye ederim o daha kolay uzatma ve paket kalıtım sağlar ama onun kişisel tercih meselesi ... sadece benim birkaç sent – nifr
Teşekkürler, ben düşüneceğim. Symfony, konfigürasyon ve materyal yazmak için birkaç format sunuyor ama iki ucu keskin kılıç. – Gustek