2016-07-05 34 views
0

我目前正在将我的浏览器游戏从我自己的PHP-MVC框架迁移到Laravel框架。我在构建网站时遇到了一些麻烦,我不知道最好的方法是什么。我应该如何构建主页和游戏服务器?Laravel的游戏网站结构

- www.homepage.com (driven by Laravel) 
-- /game/s1 (subfolder, so it's driven by the same Laravel instance) 
-- /game/s2 (..) 
-- /game/s3 (..) 
-- ... 


- www.homepage.com (driven by Laravel) 
- s1.homepage.com (pointing to the homepage Laravel instance) 
- s2.homepage.com (..) 
- s3.homepage.com (..) 
- ... 


- www.homepage.com (driven by Laravel) 
- s1.homepage.com (driven by a new Laravel instance) 
- s2.homepage.com (..) 
- ... 

好,第三个选项是可能的,但可笑的,因为你必须安装laravel每个游戏服务器。所以还有两个选择。

第一个将所有内容合并到一个域中,但它可能非常非常复杂。

第二个选项也是一个选项,我看到一些人在使用它,但我不明白你为什么要这样做。因为相同的Laravel实例正在处理所有事情。唯一的区别是你指向一个子域而不是子文件夹。

我在这里错过了什么吗?想听听你的想法。

回答

2

Laravel提供子域路由 - 因此无需为您的“服务器”或游戏创建子文件夹。

你可以找到更多的信息在这里https://laravel.com/docs/5.2/routing#route-group-sub-domain-routing

基本上你可以使用这个片段

Route::group(['domain' => '{server}.homepage.com'], function() { 
    // inline function - should probably be a controller here 
    Route::get('game', function ($server) { 
    // now you have access to $server which is your s1, s2 
    }); 
}); 

这样做,你将只需要让你的子域名指向你laravel公用文件夹,一切都应该工作。