我有一個報告和統計應用程序,以基本表格格式顯示各種查詢結果。在報告結果頁面的底部是用戶將他們正在查看的報告結果下載到CSV文件的選項。與在線銀行類似的功能,您可以查看您的銀行交易,然後可選擇將交易歷史記錄下載到csv。PHP:從會話變量下載文件
這樣做的最佳實踐方法是什麼?
a。一個下載按鈕,用於觸發報表查詢重新運行並隨後傳輸到csv下載文件。
或
b。當查詢首次運行並在視圖中呈現時,控制器將報告對象保存在會話變量中。下載按鈕因此下載到來自會話變量的報告對象,而不必重新運行查詢。
我在選項B中看到的好處是雙重的。 1.報表查詢不必重新運行,從而減輕數據庫的負擔。 2.從會話變量下載的報告與報告結果中顯示的報告完全匹配。對於選項a,如果在查看報告的時間與觸發下載鏈接的時間之間有數據更新,則下載的報告可能與正在查看的報告有所不同。
如果使用會話變量方法,我應該考慮是否存在任何風險或缺陷?
在此先感謝您的任何意見或指導。
感謝您的輸入。是的,要存儲在會話變量中的對象是格式化爲下載到csv的報告輸出的自定義報告類。我唯一擔心的可能是安全或服務器內存負載問題,將對象存儲在內存中,或者根據請求將它們簡單地傳輸到瀏覽器。 – mass6