Проблем
Искате да видите дали потребител е влязъл.
Знаете, че Laravel автоматично запазва удостоверения потребител в сесията. Искате да проверите дали текущата заявка има потребител, който е влязъл и удостоверен.
Решение
Използвайте | _+_ |.
| _+_ | метод връща true или false.
ако (Авт::проверка())
{
изхвърлен 'Да! Влезли сте. ';
}
Дискусия
Няколко неща се случват зад кулисите, когато правите това.
Първо Laravel проверява дали текущата сесия има идентификатор на потребител. Ако е така, тогава се прави опит за извличане на потребителя от базата данни.
Ако това не успее, Laravel проверява за бисквитка „запомни ме“. Ако това е налице, отново се прави опит да се извлече потребителят от базата данни.
Само ако валиден потребител е извлечен от базата данни, се връща true.
Филтърът „гост“ използва този метод
Laravel осигурява изпълнение по подразбиране на филтъра за гости в | _+_ |.
{
ако (Авт::проверка()) връщанеПренасочване::да се('/');
});
Това изпълнение по подразбиране се използва, когато искате да добавите филтър към маршрут, който е достъпен само за гости (известни още като потребители, които не са влезли). Ако потребител е влязъл, той се пренасочва към началната страница.