Php 科哈纳3.2多站点配置

Php 科哈纳3.2多站点配置,php,kohana,kohana-3,kohana-3.2,Php,Kohana,Kohana 3,Kohana 3.2,现在,我在同一台服务器上的多个站点之间基于共享Kohana::Core。我想更进一步,分享除配置和内容之外的一切(控制器、视图、模型)。可能吗?我在数据库配置中使用“table_prefix”字段来区分每个站点的表。我想根据url参数动态加载数据库配置-我认为应该可以 我正在考虑将路线改为: Route::set('default','(/(/(/(/))))) ->默认值(数组)( “控制器”=>“主页”, “操作”=>“索引”, )); 但目前我不知道应该在哪个位置以及如何检查和加载适当的

现在,我在同一台服务器上的多个站点之间基于共享Kohana::Core。我想更进一步,分享除配置和内容之外的一切(控制器、视图、模型)。可能吗?我在数据库配置中使用“table_prefix”字段来区分每个站点的表。我想根据url参数动态加载数据库配置-我认为应该可以

我正在考虑将路线改为:

Route::set('default','(/(/(/(/)))))
->默认值(数组)(
“控制器”=>“主页”,
“操作”=>“索引”,
));

但目前我不知道应该在哪个位置以及如何检查和加载适当的配置。

有一些方法可以做到这一点

单向:

构建控制器\u基类 将方法放在()之前

在此方法中,通过使用
$this->request->param('site')
获取
参数

现在,您可以在switch case中或通过
参数加载配置文件 通过将每个站点的配置名称设置为

现在,在每个控制器中,您都应该扩展控制器的基础 put before()方法 在这个方法中,使用parent::before()


希望我能帮助您

我找到了最好、最优雅的解决方案。我将应用程序移动到modules目录。这相当容易。有必要将bootstrap.php更改为init.php,删除除路由之外的所有内容。现在,我可以使用标准多站点配置多次使用所有控制器、模型和视图