2012-01-19 51 views
3

我正在使用Slim PHP框架的1.5.0版本,並且遇到會話問題。我以前沒有遇到過任何問題(使用Slim),所以它讓我相信它或者會隨着Slim或者我的設置而改變。這是我的index.php頁面中的基本路線片段。Slim PHP框架中的會話在哪裏?

$app->get('/test', function() use($app) { 
    $_SESSION['test'] = 'blah'; 
    var_dump($_SESSION); 
}); 

$app->get('/test2', function() use ($app) { 
    var_dump($_SESSION); 
}); 

的 '/測試' 路線輸出:

array(1) { ["test"]=> string(4) "blah" } 

的 '/ test2的' 路線輸出:

array(0) { } 

什麼是與我的會話。難道我做錯了什麼?我應該使用別的不是PHP的本地會話嗎?我甚至嘗試初始化苗條具有以下屬性:

$app = new Slim(array(
    'session.handler' => null 
)); 

兩個選項,無濟於事。

+1

我建議閱讀和吸收[會議上修身PHP API文檔(http://www.slimframework.com/documentation/develop#sessions)......你可能要等待一段時間對於精通特定框架的人來說是一段時間。 – rdlowrey

回答

9

Slim依靠加密的HTTP cookie來保存會話數據;如果您沒有cookie,除非您像上面所做的那樣將會話處理程序設置爲null,否則將不會有會話。

版本1.6.0(目前在開發分支)不對會話做任何假設;相反,版本1.6.0要求您配置並啓動自己的會話(如果使用PHP的本地會話處理)。版本1.6.0還將傳統會話處理抽象爲中間件,以便您可以繼續使用加密的Cookie來保存會話數據(如果您喜歡的話)。

如果您還有其他問題,我鼓勵您將它們發佈到官方的Slim Framework支持論壇http://help.slimframework.com/

最佳, 喬希