Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有消息变量的路由重定向_Php_Laravel - Fatal编程技术网

Php 带有消息变量的路由重定向

Php 带有消息变量的路由重定向,php,laravel,Php,Laravel,我需要拉威尔的帮助。我要做的是创建一个路由筛选器,它将使用从变量传递的指定消息重定向用户。我目前使用的代码是semi-works,但我唯一不喜欢的是,当消息显示在视图上时,它会被转换为小写字符 Route::get('event/signup', array('before' => 'auth_message:You must be logged into your account to signup for the event.', 'uses' => 'event@signup'

我需要拉威尔的帮助。我要做的是创建一个路由筛选器,它将使用从变量传递的指定消息重定向用户。我目前使用的代码是semi-works,但我唯一不喜欢的是,当消息显示在视图上时,它会被转换为小写字符

Route::get('event/signup', array('before' => 'auth_message:You must be logged into your account to signup for the event.', 'uses' => 'event@signup'));

Route::filter('auth_message', function($message)
{
    if (!Auth::user())
    {
        return Redirect::to('/')->with('errorAlert', $message);
    }
});

因此,例如,此消息“您必须登录到您的帐户才能注册事件。”在重定向用户后,在视图中显示为“您必须登录到您的帐户才能注册事件”。是否可以保留字符大小写?

您从过滤器中获取的参数错误。以下工作与您预期的一样:

Route::filter('auth_message', function($route, $request, $value)
{
    if (!Auth::user())
    {
        return Redirect::to('/')->with('errorAlert', $value);
    }
});

Route::get('/', function(){
    exit(Session::get('errorAlert')); // Returns "You must be logged into your account to signup for the event."
});

您从筛选器中获取了错误的参数。以下工作与您预期的一样:

Route::filter('auth_message', function($route, $request, $value)
{
    if (!Auth::user())
    {
        return Redirect::to('/')->with('errorAlert', $value);
    }
});

Route::get('/', function(){
    exit(Session::get('errorAlert')); // Returns "You must be logged into your account to signup for the event."
});

那么,我应该如何将它与Route::get()一起使用呢?我试过:
Route::get('event/signup',array('before'=>'auth_message','uses'=>'event@signup“,”消息“=>”测试“)缺少Laravel\Bundle的参数1:{closure}()
您不需要更改事件/注册路由。仅将过滤器更改为上述代码$值包含您在“:”之后传递的值。好的,我有以下内容:
Route::get('event/signup',array('before'=>'auth_message:您必须登录到您的帐户才能注册事件。','uses'=>'event@signup'));但它仍然抛出一个错误:
缺少Laravel\Bundle的参数2:{closure}()
好的,我让它开始工作了。我唯一不完全满意的是,当消息被传递时,它被转换成小写字母。有没有办法防止这种情况发生?我已经测试过了,消息没有转换成小写。尝试并访问/event/您将得到重定向到/的结果,错误应该会显示出来。那么我应该如何将它与Route::get()一起使用呢?我试过:
Route::get('event/signup',array('before'=>'auth_message','uses'=>'event@signup“,”消息“=>”测试“)缺少Laravel\Bundle的参数1:{closure}()
您不需要更改事件/注册路由。仅将过滤器更改为上述代码$值包含您在“:”之后传递的值。好的,我有以下内容:
Route::get('event/signup',array('before'=>'auth_message:您必须登录到您的帐户才能注册事件。','uses'=>'event@signup'));但它仍然抛出一个错误:
缺少Laravel\Bundle的参数2:{closure}()
好的,我让它开始工作了。我唯一不完全满意的是,当消息被传递时,它被转换成小写字母。有没有办法防止这种情况发生?我已经测试过了,消息没有转换成小写。尝试并访问/event/您将得到重定向到/的结果,错误将显示出来。