В настоящее время я использую Laravel 4 и Sentry 2 для разработки довольно простой системы аутентификации с включенным регулированием. Тем не менее, когда возникает исключение, когда пользователь пытается войти в систему, потому что он был приостановлен, его следует перенаправить обратно в представление входа в систему с сообщением «Этот пользователь был приостановлен в течение $ time минут».
Проблема в том, что я не могу вернуть переменную и текстовое сообщение в представление. Может быть, мне не хватает правильного синтаксиса, я не знаю. Это сводит меня с ума, поскольку я должен сделать это для многих других исключений. Кажется, это проблема новичка, и решение должно быть довольно простым.
Это часть моего кода, которая имеет значение:
catch (Cartalyst\Sentry\Throttling\UserSuspendedException $e)
{
$throttle = Sentry::findThrottlerByUserLogin(Input::get('username'));
$time = $throttle->getSuspensionTime();
return Redirect::route('account-sign-in-get')
->with('message','This user has been suspended for [$time] minutes.');}
Заранее спасибо.
Просто замени
->with('message','This user has been suspended for [$time] minutes.');
с
->with('message', "This user has been suspended for {$time} minutes.");
Что на самом деле происходило:
В PHP, когда вы используете одинарные кавычки вокруг строки, он не анализирует переменную, встроенную в эту строку, но когда вы используете двойные кавычки, он анализирует ее.
Других решений пока нет …