2017-10-23 11 views
1

私は次のようでしたLaravelを使用していた前に:Laravel:セッションが必要かどうかを確認しますか?

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

私は$_SESSION['comment']が警告を防ぐために存在しているかどうかを確認する必要がありました。今私のブレードファイル内の私は

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

にこれを翻訳することができます。しかし、セッションが存在するかどうかを確認したり、私は単に

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

を書くことができれば私はそれを見つけることができませんでし依然として必要である場合、私は疑問に思いますdocs。私はAPIを探していましたが、クラスIがグローバルヘルパー関数を見つける手がかりがないことに気付きました。

答えて

1

セッションが開始されているかどうかを確認する必要はありません。 Laravelで自動的に起動します。

存在しないsession(variable)を表示しようとすると、nullが表示されます。

しかし、あなたではなく、デフォルト値を持っているだろう場合、あなたは2番目のパラメータとして渡し:

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

laravelのすべてのmagicヘルパーメソッドがファイルvendor/laravel/framework/src/Illuminate/Foundation/helpers.phpに配置されています。そこにはfunction sessionの定義がありますが、やや以下のようになります:

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); 
} 
関連する問題