2012-03-27 39 views
0

我的網站是一個小工具應用程序。它使用CakePHP框架。它在AppController :: beforeFilter()中有下面的代碼片段。我在項目中搜索了cookie變量,但找不到任何其他的發生。 我也不明白它的工作原理爲什麼它總是在每個請求中檢查它。此代碼段的工作原理是什麼?它使用會話cookie

if (isset($_COOKIE[session_name()])) { 
     if (!isset($this->sns_id)) { 
      // セッション期限切れ 
      $this->cakeError('session'); 
     }    
    } 
    else { 
     // スタートページからの遷移でなかったら    
     if (!isset($_REQUEST['post_pf_params'])) { 
      $this->cakeError('cookie'); 
     } 
    } 

回答

1

CakePHP api

控制器:: beforeFilter()

該功能在控制器的每一個動作之前執行。這是檢查活動會話或檢查用戶權限的便利場所。

因此,這裏是做什麼的,

// checks if a cookie exists with current session name 
if (isset($_COOKIE[session_name()])) { 
    // if $this->sns_id does not exists show a session error 
    if (!isset($this->sns_id)) { 
     $this->cakeError('session'); 
    }    
} else { 
    // otherwise if there is not request parameter with name post_pf_params is sent 
    // show a cookie error. 
    if (!isset($_REQUEST['post_pf_params'])) { 
     $this->cakeError('cookie'); 
    } 
} 

從谷歌翻譯,

セッション期限切れ意味着會話過期
スタートページからの遷移でなかったら意味着如果你不開始頁

過渡
相關問題