如果PHP會話變量存儲在文件(就像它在默認情況下),那麼讓我們說我存儲用戶名到一個會話變量...我應該調用一個包含SESSION值的變量,而不是在PHP中調用實際會話嗎?
$_SESSION['username'] = 'Jason Davis';
現在,當一個頁面是內置,如果我叫$ _SESSION ['username']在構建頁面的過程中執行100次,是否會觸發會話文件並對它們執行100次讀取?
同樣的事情,但會話被存儲在MySQL中。它會查詢數據庫100次以獲得會話表中的用戶名嗎?
我只是想知道我是否應該在頁面中調用會話變量1次,然後將它存儲到局部變量並將其用於其他99次。像這樣...
$username = $_SESSION['username'];
echo $username; // 100 times throughout all the files that build my page.
注意:請意識到這僅僅是一個例子,在現實中,我將需要訪問更多的則只是一個用戶名會話和100倍,最有可能是少,但分佈在多個會話鍵/值
'$ number_of_times_beaten_by_gumbo_today ++' – 2010-01-21 23:14:26
所以如果我要改變我的會話使用MySQL的有存儲和I調用$ _SESSION [「用戶名」]很多時間過去,它不會讓取我的MySQL會話嗎? – JasonDavis 2010-01-21 23:21:29
@jasondavis:是的,會話數據只在調用session_start時讀取一次,然後存儲在$ _SESSION中。 – Gumbo 2010-01-21 23:59:39