簡體   English   中英

這個“ $ this->會話-> userdata(” datiPreventivo“);”到CodeIgniter控制器類中到底是什么?

[英]What exactly does this “$this -> session -> userdata(”datiPreventivo“);” into a CodeIgniter controller class?

我是一名Java開發人員(我經常使用Spring MVC在Java中開發MVC Web應用程序)對PHP的了解很少,因此我必須處理使用CodeIgniter 2.1.3的PHP項目。

因此,對於此控制器方法的工作方式,我有以下疑問:

所以我有這個課:

class garanzieValoreFlex extends CI_Controller {

    ..................................................... 
    ..................................................... 
    ..................................................... 

   public function index() {

        $this->load->model('Direct');
        $flagDeroga = "true" ;

        $this->session->userdata("flagDeroga");

        $data = $this->session->userdata("datiPreventivo");
        $this->load->model('GaranzieValoreFlexModel');

        $data = $this->session->userdata("datiPreventivo");
        $this->load->model('GaranzieValoreFlexModel');

        $this->load->view('garanziavalore/index_bootstrap',$data);
    }

}

我知道garanzieValoreFlex控制器類的index()方法處理對URL的HTTP請求: http:// MYURL / garanzieValoreFlex並顯示/views/garanzievalore/index_bootstrap.php頁面。

工作正常。 我不明白的唯一想法是此代碼行到底是什么:

$data = $this -> session -> userdata("datiPreventivo");

您能幫我做什么嗎? 我認為它正在將某些內容放入HttpSession或類似的內容中,但我對此不確定,因此我無法理解其邏輯。

session是一個Codeigniter(CI)庫(類),該庫允許數據在來自瀏覽器的多個頁面調用之間持久保存。 在CI版本中,您使用的是“本機” PHP會話功能。 但是CI的session類確實模仿了PHP的會話,因為數據存儲在PHP關聯數組中

該類具有許多不同的方法來存儲和檢索用戶定義的數據。 函數userdata("index_to_data")是主要的類方法之一。 它用於檢索已存儲在session類中的數據。

傳遞給userdata()的參數是session類數組$userdata的值的鍵。 因此, $this->session->userdata("datiPreventivo"); 返回存儲在$userdata["datiPreventivo"] 如果鍵(在本例中為“ datiPreventivo”)不存在,則$this->session->userdata("datiPreventivo")返回FALSE

在您正在使用的代碼中的某個位置,您會找到一行存儲會話中數據的行。 代碼行可能看起來像這樣。

$newdata = array("datiPreventivo" => $something_value);
$this->session->set_userdata($newdata);

在您的代碼中搜索“ $ this-> session-> set_userdata”可能對了解將來為頁面加載保存的內容有幫助。

重要的是要知道CI的session類已在版本> 3.0中完全重寫,因此當前文檔可能對您沒有太大幫助。 您將需要查找所用版本的文檔,以了解有關session庫的更多信息。 我相信,您所用版本的下載文件中包含文檔,可以在此處找到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM