如何处理带有控制器的Laravel 4子域路由,将子域传递为参数
-
23-12-2019 - |
题
追随Laravel 4关于路由的文档,我一直在尝试创建一个域路由,该路由将处理通配符子域并将其传递给控制器操作,但我无法传递参数。
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', function($subdomain)
{
die($subdomain);
});
});
.
如果我写这样的路线,它将打印出子域,无论它可能是什么。问题是我不想在路由中编写处理这些情况的代码,但使用控制器来处理它,而不从子域上obdemapap.com到myapp.com/controller/action/子域。 所以,这样的东西:
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', 'MyController@myAction', $subdomain);
});
.
如何将{subdomain}参数传递给控制器在这种情况下?
解决方案
似乎早上比夜晚更聪明。我用一个派出解决方案,所以如果其他人有更优雅的解决方案,请随时发布,我会接受你的答案。
Route::group(array('domain' => '{subdomain}.myapp.com'), function()
{
Route::get('/', function($subdomain) {
$request = Request::create('/myRoute/' . $subdomain, 'GET', array());
return Route::dispatch($request)->getContent();
});
});
Route::get('myRoute/{subdomain}', 'MyController@myAction');
. 不隶属于 StackOverflow