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