<!-- alert.blade.php -->
@if ($errors->any())
<div>
<ul>
@foreach ($errors->all() as $error)
<li style="color: red">{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if (Session::has('error'))
<div>
<ul>
<li style="color: red">{{ Session::get('error') }}</li>
</ul>
</div>
@endif
@if (Session::has('success'))
<div>
<ul>
<li style="color: green">{{ Session::get('success') }}</li>
</ul>
</div>
@endif
The above code attempts to display error and success messages stored in session variables using the Session facade. However, the error occurs due to the Session class not being found.
Solution: To resolve the “Class ‘Session’ not found” error, we need to ensure that the Session class is properly accessed within the view. Here’s how we can fix it:
Solution 1: Using Laravel’s session helper function:
@if (session()->has('error'))
<div>
<ul>
<li style="color: red">{{ session()->get('error') }}</li>
</ul>
</div>
@endif
@if (session()->has('success'))
<div>
<ul>
<li style="color: green">{{ session()->get('success') }}</li>
</ul>
</div>
@endif
Solution 2: Using Fully Qualified Class Names:
@if (\Illuminate\Support\Facades\Session::has('error'))
<div>
<ul>
<li style="color: red">{{ \Illuminate\Support\Facades\Session::get('error') }}</li>
</ul>
</div>
@endif
@if (\Illuminate\Support\Facades\Session::has('success'))
<div>
<ul>
<li style="color: green">{{ \Illuminate\Support\Facades\Session::get('success') }}</li>
</ul>
</div>
@endif