我在用CakePHP 2
构建PHP应用程序。 我需要有一个窗体显示的页面。配置存储在数据库中的动态表单生成
必须根据存储在数据库中的配置动态生成表单。
例如:
数据库内容:
{
{name:"Username",type:"text",label:"Username",validation:("required","minlength:6")},
{name:"Password",type:"password",label:"Password",validation:("required","minlength:6")},
{name:"Submit",type:"submit",value:"submit"}
}
我想这样的一些配置(格式元)存储在数据库中,并基于该HTML表单将在生成运行。如果配置在运行时更改,表单也会更改。 我知道cakePHP有一个表单生成组件。
所以我的问题是,我怎样才能从一个存储在数据库中的配置文件到cakePHP表单生成器,然后到页面?
我正在考虑eval()
函数,但是我读了它并不是很安全,我试图尽可能地避免它。
PS:
我将使用mongodb
用于存储从所述表格获得的数据。
表单配置存储在数据库中的方式是灵活的,我想将它存储为一个字符串,但这是可以协商的。
我也可以将表单的配置存储在任何数据库中,无论是RDBMS还是NoSQL数据库。
+1为此,虽然我不认为你需要''serialize()'任何东西,只需在你的控制器中使用'$ this-> set()'与所有表单字段配置,并显示使用JavaScript的有意义的内容你的看法(如果需要显示的字段在用户看到页面时发生变化)或者你可以在t中做一些条件逻辑他查看并显示propper字段... 无论如何,我看到你的问题的方式,它不是严格的2.0相关的,所以你可以看看1.3的答案以及 – Bogdan 2012-02-22 02:09:47
@Bogdan序列化配置数组与数据库而不是拿出他自己的格式和配对解析器:) – 2012-02-22 02:10:50
哦,:) :)是啊,当然,这是有道理的,显然:) – Bogdan 2012-02-22 02:12:45