2016-07-27 15 views
0

Ich bin ein Java-Entwickler (ich habe oft Spring MVC verwendet, um MVC-Web-App in Java zu entwickeln) mit ein wenig PHP-Kenntnisse und ich muss an einem PHP-Projekt arbeiten, das CodeIgniter 2.1.3 verwendet.

Also habe ich folgenden Zweifel darüber, wie genau diese Controller-Methode arbeiten:

So habe ich diese Klasse:

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); 
    } 

} 

Ich weiß, dass die Index() Methode des garanzieValoreFlex Controller-Klasse behandeln HTTP-Anfrage in Richtung der URL: http://MYURL/garanzieValoreFlex und zeigen Sie die /views/garanzietigore/index_bootstrap.php Seite.

Es funktioniert gut. Die denken nur, dass ich nicht verstehen kann, ist, was genau macht diesen Code Zeile:

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

Können Sie mir helfen, was genau zu tun? Ich denke, dass es etwas in die HttpSession oder etwas ähnliches bringt, aber ich bin absolut nicht sicher darüber und ich kann die Logik nicht verstehen.

+1

https://www.codeigniter.com/user_guide/libraries/sessions.html –

+0

Er ruft die Sitzungsdaten ab. Klicken Sie hier, um die Dokumentation zu sehen http://www.codeigniter.com/user_guide/libraries/sessions.html –

+0

Wenn Sie wenig Ahnung von CodeIgniter haben, dann wäre das Lesen der Dokumentation eine gute Idee. – Sparky

Antwort

1

session ist eine Codeigniter (CI) -Bibliothek (Klasse), die Daten über mehrere Seitenaufrufe von einem Browser beibehalten kann. In der Version von CI verwenden Sie "native" PHP-Session-Funktionalität wird nicht verwendet. Aber CI session Klasse imitiert PHP-Sitzung in diesem Daten in einem assoziativen PHP array gespeichert ist.

Die Klasse verfügt über viele verschiedene Methoden zum Speichern und Abrufen benutzerdefinierter Daten. Die Funktion userdata("index_to_data") ist eine der wichtigsten Klassenmethoden. Es wird verwendet, um Daten abzurufen, die in der Klasse session gespeichert wurden.

Das an userdata() übergebene Argument ist der Schlüssel zu einem Wert im Klassenarray session. So gibt $this->session->userdata("datiPreventivo"); den Wert $userdata["datiPreventivo"] zurück. Wenn der Schlüssel (in diesem Fall "dateiPreventivo") nicht vorhanden ist, gibt $this->session->userdata("datiPreventivo")FALSE zurück.

Irgendwo im Code, mit dem Sie arbeiten, finden Sie eine Zeile, in der Daten in der Sitzung gespeichert werden. Die Codezeile könnte in etwa so aussehen.

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

Suchen Sie den Code für „$ this-> Session-> set_userdata“ könnte hilfreich sein, zu verstehen, was genau für zukünftige Seite geladen wird gespeichert.

Es ist wichtig zu wissen, dass CI session Klasse wurde vollständig in Versionen> 3.0 neu geschrieben, so dass die current documentation möglicherweise nicht sehr hilfreich für Sie sein. Sie müssen die Dokumentation für die Version finden, die Sie verwenden, um mehr über die Bibliothek session zu erfahren. Ich glaube, dass Dokumentation im Download für Ihre Version enthalten ist, die here gefunden werden kann.