0

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

我正在考虑将路线更改为:

 Route::set('default', '(<site>(/<controller>(/<action>(/<parametr>)))))')
        ->defaults(array(
                   'controller' => 'mainpage',
                   'action' => 'index',
                   ));

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

4

2 回答 2

0

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

单程:

建立一个 Controller_Base 类放在那里方法 before()

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

现在您可以<site>通过将每个站点的配置名称设置为<site>

现在在每个控制器中,您应该扩展 Controller_Base put before() 方法,并在此方法中使用 parent::before()

希望我帮助了你

于 2013-02-05T09:54:09.887 回答
0

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

于 2013-02-05T10:13:24.233 回答