我有一个Laravel安装,我希望在其上运行3个站点(附加域)。我正在使用Laravel的路由分组方法来抓取每个域。但是,我需要能够知道我在每个组内部使用哪个域。做这个的最好方式是什么?我有以下代码:将路由组中的变量传递给Laravel 4中的路由功能
Route::group(array('domain' => 'domainone.com'), function($domain = 'domainone')
{
Route::get('/', function($domain) {
//
});
});
^哪个行不通。
notes建议在URL中使用通配符,例如。
Route::group(array('domain' => '{domain}.com'), function()
{
Route::get('/', function($domain) {
//
});
});
但是,我更喜欢不同的方法,因为我在本地服务器的开发过程中无法真正使用它。有没有更像我的第一种方法,我可以手动为每个域声明一个键?
编辑:我还需要将该域变量传递给控制器,我也正在努力解决如何做?
谢谢。
EDIT 2
我的问题是,我不使用子域名,我使用域;我有3个独立的域,用于在Laravel的同一个安装上运行的3个姊妹站点。所以我有3个路由组,每个域有一个。此外,我不想请求域变量每次使用{domain}.com
,我想要告诉 Laravel在每种情况下的域,然后将该域作为变量传递到每个组内的适当的控制器。这里是我的示例代码:
$domain1 = 'domain1.com';
$domain2 = 'domain2.com';
$domain3 = 'domain3.com';
Route::group(array('domain' => $domain1), function(){
Route::get('/', '[email protected]'); // <-- I want to access $domain1 in my controller
});
Route::group(array('domain' => $domain2), function(){
Route::get('/', '[email protected]'); // <-- ...and $domain2
});
Route::group(array('domain' => $domain3), function(){
Route::get('/', '[email protected]'); // <-- ...and $domain3
});
对不起,这似乎会引发一个错误:'引用行'Route :: get('/',函数($域){{ – Inigo
你需要在第二个版本上做同样的工作编辑 –
非常感谢安东尼奥现在正在工作只要把它包装起来,你知道我怎么会把这个变量传递给控制器,也就是说如果我有'Route :: get('/','PrimaryController @ index');'我将如何发送域变量到这个控制器函数?谢谢。 – Inigo