2017-10-23 1 views
1

Bevor ich wurde mit Laravel ich habe folgendes:Laravel: Prüfen, ob Sitzung existiert notwendig?

<input type="text" name="comment" value="<?php if(isset($_SESSION['comment'])) echo $_SESSION['comment']; ?>"> 

ich überprüfen musste, wenn $_SESSION['comment'], um eine Warnung zu verhindern, besteht. Jetzt in meinem Blade-Dateien kann ich dies

übersetzen
<input type="text" name="comment" value="{{ (isset(session('comment')) ? session('comment') : ''}}"> 

Aber ich frage mich, ob es noch notwendig ist, zu überprüfen, ob die Sitzung vorhanden ist, oder wenn ich einfach

<input type="text" name="comment" value="{{ session('comment') }}"> 

schreiben kann ich nicht feststellen, dass könnte in die docs. Ich suchte in der API, aber ich erkannte, dass ich keine Ahnung habe, in welcher Klasse ich die globale Hilfsfunktion finden kann.

Antwort

1

Sie müssen nicht überprüfen, ob die Sitzung gestartet wird. Es startet automatisch für Sie in Laravel. Wenn Sie versuchen, eine session(variable) anzuzeigen, die nicht existiert, erhalten Sie null.

Aber wenn Sie eher einen Standardwert haben würde, übergeben Sie es als zweiten Parameter:

var_dump(session('Lorem ipsum4', 'default value')); 
// will result in: 
// "default value" 

Alle magicHelfer Methoden in Laravel in einer Datei vendor/laravel/framework/src/Illuminate/Foundation/helpers.php platziert werden. Dort finden Sie function session Definition, etwa wie folgt:

function session($key = null, $default = null) 
{ 
    if (is_null($key)) { 
     return app('session'); 
    } 

    if (is_array($key)) { 
     return app('session')->put($key); 
    } 

    return app('session')->get($key, $default); 
} 
Verwandte Themen