我在用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