Php 检测子域并在laravel中设置共享(全局)变量

Php 检测子域并在laravel中设置共享(全局)变量,php,laravel,laravel-routing,Php,Laravel,Laravel Routing,我已获得以下代码片段,成功路由子域请求。我正在寻找一种方法,可以检测子域,并根据子域的不同快速地为全局变量赋值。我在哪里可以这样做 Route::group(array('domain' => '{username}.murch.co'), function() { Route::controller('checkout', 'CheckoutController'); Route::get('/', 'UserController@getProfile'); }); 我

我已获得以下代码片段,成功路由子域请求。我正在寻找一种方法,可以检测子域,并根据子域的不同快速地为全局变量赋值。我在哪里可以这样做

Route::group(array('domain' => '{username}.murch.co'), function() {
    Route::controller('checkout', 'CheckoutController');
    Route::get('/', 'UserController@getProfile');
});
我想做点像

Route::group(array('domain' => '{username}.murch.co'), function() {
    $var = "dog".$username;
    View::share('var', $var);
    Route::controller('checkout', 'CheckoutController');
    Route::get('/', 'UserController@getProfile');
});

我仍然不知道如何实现这一点,但我最终找到了一个使用过滤器的解决方案

 App::before(function($request)
 {
    $urlParts = explode('.', $_SERVER['HTTP_HOST']);
    $subdomain = $urlParts[0];
    $userModel = new User;
    $user = $userModel->getUserByUsername($subdomain);
    View::share('user', $user);
 });

对于Laravel5.x,您可以在任何地方调用它-控制器、视图等

Route::current()->parameter('username');

你做的有什么不对。为什么你需要一个全局变量呢?因为某些原因,你不能像那样访问$username。我不知道为什么我需要把这个代码放在哪个文件中,我使用的是Laravel5.3