Php Symfony 2:如何以及在何处存储运行时设置文件
我正在开发一个Symfony 2网络应用程序,它使用Php Symfony 2:如何以及在何处存储运行时设置文件,php,symfony,Php,Symfony,我正在开发一个Symfony 2网络应用程序,它使用PayPal Rest API创建和接受PayPal支付 为了能够将每个用户重定向到其语言的PayPal页面,必须为每种语言/区域设置创建一个 每个体验档案只需创建一次。例如,一旦创建了USlocale的配置文件,该配置文件就可以重新用于使用相同locale的每个客户: 客户在我的页面上输入他的地址和地址 我的页面检查XYlocale的配置文件是否存在 为XYlocale创建新的配置文件,并将其存储或重新使用现有配置文件 每个概要文件都有一个唯
PayPal Rest API
创建和接受PayPal支付
为了能够将每个用户重定向到其语言的PayPal页面,必须为每种语言/区域设置创建一个
每个体验档案
只需创建一次。例如,一旦创建了US
locale的配置文件,该配置文件就可以重新用于使用相同locale的每个客户:
XY
locale的配置文件是否存在XY
locale创建新的配置文件,并将其存储或重新使用现有配置文件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
,并将数据存储在那里。这是有争议的。清除缓存将清除数据配置文件。也许更好的选择是从用户配置中获取存储位置。