我目前正将我的浏览器游戏从我自己的PHP-MVC框架迁移到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实例正在处理所有事情。唯一的区别是你指向子域而不是子文件夹。
我在这里遗漏了什么吗?想听听你的想法。
答案 0 :(得分: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公共文件夹,一切都应该正常工作。