【问题标题】:Is it poor form to place files in Symfony2's app/cache folder?将文件放在 Symfony2 的 app/cache 文件夹中是不是很糟糕?
【发布时间】:2012-06-12 03:52:29
【问题描述】:

我要去make my app spool mail,并试图找到一个放置邮件假脱机文件的好地方。

我喜欢%kernel.cache.dir%/foobarmailspool,因为这意味着我(和我的开发人员)现有的文件系统 ACL 不需要扩充。

app/cache 写的格式不好?

如果没有,我可以/应该遵循一些命名约定吗?

再想一想,考虑到使用 symfony2 时必须出现的所有 blowing away of the cache,将电子邮件假脱机到 app/cache 可能不是一个好主意。不过,我的问题不必专门针对假脱机电子邮件,而是更多关于一般写入缓存的内容(如标题中所述)。

【问题讨论】:

    标签: symfony swiftmailer


    【解决方案1】:

    我认为在缓存文件夹中假脱机电子邮件是一个坏主意,因为缓存是您可以随时删除的东西,您可能会丢失尚未发送的假脱机电子邮件。我建议为他们创建一个单独的文件夹——比如app/spool

    【讨论】:

      【解决方案2】:

      将它们存储在缓存文件夹中似乎是一个好主意,因为您已经在那里拥有写入权限,但所有缓存位置都应被视为“易失性”,因此不可靠。

      如果你只是将它们写入磁盘进行测试,你总是可以使用 /tmp/ 或者如果你在同一个执行线程中使用它们,那么 php 中总是有非常方便的 I/O 流选项,更多内容在http://php.net/manual/en/wrappers.php.php

      但是,如果您想在生产环境中执行此操作,则需要在磁盘上具有正确的权限集、数据库甚至内存缓存的真实文件夹(如果您计划好过期的话)。

      【讨论】:

      • 好答案。我仍然想知道 Symfony2 的 app/cache 文件夹是否有任何约定(我认为这部分被埋在了我原来的帖子中)。
      【解决方案3】:

      如果您将邮件存储在数据库中,则根本不需要接触文件系统。

      【讨论】:

      • 是的,但是有没有内置的东西可以这样做,例如this?并不是说在数据库中后台处理电子邮件很难,但如果我不需要,我宁愿不创建更多代码来维护。
      • 您可以创建您的own service 将其存储在数据库中。
      猜你喜欢
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 2012-02-25
      • 2010-10-18
      • 1970-01-01
      相关资源
      最近更新 更多