How to use session in custom class laravel 5?

2019-07-07 22:49发布

问题:

here is my code:

<?php 
use Illuminate\Support\Facades\Session;
namespace App\CustomLibrary

{
    class myFunctions {
        public function is_login() {
            if(Session::get('id') != null){

                return TRUE;
            }
        }
    }
}
?>

I'm new in laravel 5, i just added a new custom function. And inside that function i wanna check a session ('id)? But i've got an error like this

FatalErrorException in myFunctions.php line 8: Class 'App\CustomLibrary\Session' not found

I need to know how to use session properly.

回答1:

Add this clause to the top of the class, right after namespace part:

use Session;

Or use full namespace:

if (\Session::get('id') != null)

Or use the session() helper:

if (session('id') != null)


回答2:

Your use needs to be after the namespace declaration:

//use Illuminate\Support\Facades\Session; //Not here
namespace App\CustomLibrary

use Illuminate\Support\Facades\Session; //Here

Anything that is used before the namespace is used within the global namespace which changes once a namespace is declared.



回答3:

use Session; in Model and Controller

// Via a request instance...

$request->session()->put('key', 'value');

// Via the global helper...

session(['key' => 'value']);

for more details https://laravel.com/docs/5.1/session