【发布时间】:2011-07-29 21:36:35
【问题描述】:
在 Kohana 2.3.4 中工作,我在访问 example.com 时需要加载一个模块。
在 routes.php 文件中,您可以指定一个默认控制器,例如:
$config['_default'] = 'welcome';
但这指的是主应用程序中的控制器。
有没有办法默认加载一个模块,然后指定要在该模块中加载的默认控制器?
【问题讨论】:
在 Kohana 2.3.4 中工作,我在访问 example.com 时需要加载一个模块。
在 routes.php 文件中,您可以指定一个默认控制器,例如:
$config['_default'] = 'welcome';
但这指的是主应用程序中的控制器。
有没有办法默认加载一个模块,然后指定要在该模块中加载的默认控制器?
【问题讨论】:
在 2.3.4 中,您需要在 application/config/config.php 中指定要加载的模块。加载它们后,您可以像使用标准控制器一样在路由中使用它们。
假设在你的模块中有一个名为 foo 的控制器和一个名为 bar 的方法,你的默认路由就是:
$config['_default'] = 'foo/bar';
来自http://docs.kohanaphp.com/general/modules的示例配置
// Paths are relative to the docroot, but absolute paths are also possible
// Use the MODPATH constant (?)
$config['modules'] = array
(
MODPATH.'acl',
MODPATH.'auth',
)
值得注意的是,Kohana 文件系统是级联的,因此应用程序文件夹中的重复控制器(和其他文件)会覆盖模块控制器,进而覆盖系统控制器。
更多信息请见:http://docs.kohanaphp.com/general/filesystem#cascading
【讨论】: