小编Gus*_*tek的帖子

JMS Serializer不会暴露一个属性

我用Symfony和FOSRestBundle创建了一个RESTful应用程序.FOSRestBundle使用JMS Seriazlizer将数据序列化为json格式.我有一切都在处理一个小问题.

这是我的Entity类

/**
 * 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")
     */ …
Run Code Online (Sandbox Code Playgroud)

json symfony fosrestbundle jmsserializerbundle

9
推荐指数
2
解决办法
8702
查看次数

部署时在redis中清除doctrine缓存

我们将doctrine缓存保存在redis中,并使用capistrano进行部署.一切都很好,直到我们必须删除实体上的字段.

当执行编写器中的安装后命令时,我们得到如下错误:

[ReflectionException]**[out Property Entities\PlayerRecord :: $ shirtNumber不存在

$shirtNumber是我们删除的字段.为了能够继续,我们只需要清除doctrine缓存,但因为它位于redis数据库中,所以缓存与生产共享.

问题是我们如何在每次部署时动态更改redis的连接设置?我想到的唯一想法是:

  1. 在部署开始时修改parameters.yml
  2. 使用将在每次部署时更改的环境变量
  3. 将redis连接设置移动到另一个符号链接到其中一个配置的文件

你有其他想法或哪个更好?

capistrano redis symfony doctrine-orm

7
推荐指数
1
解决办法
1979
查看次数

Swiftmailer成功发送但没有收到邮件

我做了一个简单的联系表,并使用swiftmailer(with symfony2)发送和发送电子邮件。

使用Gmail帐户时一切正常,但在生产环境中,它必须是网站域中的noreply地址。因此,我更改了参数以对应此电子邮件帐户。

看来它正在运行send方法,返回true,但未收到任何消息,我检查了一个垃圾邮件文件夹,但它也未到达那里。设置在雷鸟中工作时100%正确。

不知道在哪里寻找问题。有什么建议我应该检查什么?

我曾尝试使用相同的帐户通过PHPMailer发送电子邮件,但它确实起作用,因此看来问题仅在于swiftmailer。我将在项目的其他几个地方发送电子邮件,并且希望现在避免更改它,而改正它。

swiftmailer

3
推荐指数
1
解决办法
4410
查看次数