我是 Kohana 的新手,但已经阅读用户指南大约两周了。我正在 v3.3.1 上构建一个巨大的应用程序,它将有许多不同的模块(即位于模块目录中)。我正在努力让路线按照我的需要工作。
首先,值得一提的是,我已经阅读了有关路由、模块、引导程序等的用户指南。我将 route::set 放在模块内的 init.php 文件中,因此在“默认”选项之前调用它bootstrap.php 文件。这就是我所拥有的...
目录:
应用程序 > 类 > 控制器 > Welcome.php
模块 > 模块 1 > 类 > 控制器 > Home.php
路线
在 module1 init.php 文件中:
Route::set('module1', 'module1(/<controller>(/<action>))')
->defaults(array(
'controller' => 'Home',
'action' => 'index',
));
在 bootstrap.php 文件中:
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
当我转到 localhost/index.php/module1/ 时,它会运行模块的 Home 控制器。
当我转到 localhost/index.php 时,它会在应用程序目录中运行 Welcome 控制器。
但是,如果我去 localhost/index.php/home 它也会运行模块的 Home 控制器。我不希望它这样做。我只希望在 URI 为 localhost/index.php/module1/ controller时运行模块控制器
我知道这是获取模块控制器的默认路由,但我不知道如何阻止它这样做,或者即使有可能!
如果有人有以这种方式使用模块的经验,请您帮帮我吗?非常感谢您的时间。
非常感谢,史蒂夫