Php Symfony 2:如何以及在何处存储运行时设置文件

Php Symfony 2:如何以及在何处存储运行时设置文件,php,symfony,Php,Symfony,我正在开发一个Symfony 2网络应用程序,它使用PayPal Rest API创建和接受PayPal支付 为了能够将每个用户重定向到其语言的PayPal页面,必须为每种语言/区域设置创建一个 每个体验档案只需创建一次。例如,一旦创建了USlocale的配置文件,该配置文件就可以重新用于使用相同locale的每个客户: 客户在我的页面上输入他的地址和地址 我的页面检查XYlocale的配置文件是否存在 为XYlocale创建新的配置文件,并将其存储或重新使用现有配置文件 每个概要文件都有一个唯

我正在开发一个Symfony 2网络应用程序,它使用
PayPal Rest API
创建和接受PayPal支付

为了能够将每个用户重定向到其语言的PayPal页面,必须为每种语言/区域设置创建一个

每个
体验档案
只需创建一次。例如,一旦创建了
US
locale的配置文件,该配置文件就可以重新用于使用相同locale的每个客户:

  • 客户在我的页面上输入他的地址和地址
  • 我的页面检查
    XY
    locale的配置文件是否存在
  • XY
    locale创建新的配置文件,并将其存储或重新使用现有配置文件
  • 每个概要文件都有一个唯一的ID。因此我正在寻找一种方法来存储区域设置/ID对。一个简单的解决方案是JSON文件但是在Symfony结构中该文件存储在哪里?

    当来自新国家/地区的用户进行付款时,配置文件会动态创建。因此,该数据是在运行时创建的,因此我认为它不属于Symfony的标准
    config
    dirs。我甚至不知道这些文件夹是否可以通过我的代码访问/写入

    那么:什么是存储此类文件的正确位置。

    编辑: 正如@JimL在评论中指出的,当然可以将数据存储在数据库中。但是,我正在处理的支付包应该在不同的项目中使用,从而尽可能与项目的其余部分分离

    这里的目标是将数据存储在文件中,而不是数据库中。当然,数据库的效率要高得多,但在这种特殊情况下,一个简单的文件就足够了

    问题是:在哪里存储此文件?第一个想法是使用
    /MyBundle/Resources/config
    ,因为这个目录保存所有其他配置文件。但是,对于在运行时更改的文件来说,这也是正确的位置吗

    3.x的标准Symfony目录结构为: 应用程序/ 应用程序配置、模板和翻译

    bin/ 可执行文件(例如bin/控制台)

    src/ 该项目的PHP代码

    测试/ 自动测试(例如单元测试)。 标准目录结构为:

    var/ 生成的文件(缓存、日志等)

    供应商/ 第三方依赖关系

    web/ web根目录

    您可以将其放在自定义目录下的标准var目录中。记住权限。

    有关var目录的更多一般信息:

    听起来您可以将其添加为与用户有关系的实体。然后将其存储在dbNo中,这不是解决方法。配置文件未链接到特定用户。所有选择“美国”作为国家的用户都将使用美国配置文件。如果同一用户在下次购买时选择“Canada”,则应使用CA配置文件等。此外,付款逻辑在单独的捆绑包中实现,因此可以在其他项目中重复使用。我想让这些数据远离数据库。捆绑包也可以添加数据库实体,我仍然认为这应该在数据库中。如果没有链接到用户,那么链接到付款当然DB是一个选项,但我不认为这是最好的解决方案。这是在运行时创建的配置数据。没有实体,等等。所以问题是:在哪里存储这种配置文件。我将问题编辑得更清楚了。我使用的是Symfony 2.8,它没有
    var/
    dir。相反,缓存、日志等位于
    app/
    中。我现在在PaymentServices中注入了
    内核.cache_dir
    ,并将数据存储在那里。这是有争议的。清除缓存将清除数据配置文件。也许更好的选择是从用户配置中获取存储位置。