kohana 3.2.3.1当控制器在子文件夹中时,路由不工作



我刚刚收到一个名为Kohana的CRM项目,直到现在我还从未听说过。

除了子文件夹中的控制器,以及控制器名称不仅仅是一个单词时,Everthing都可以正常工作。

此控制器在system/expense.php 中

<?php defined('SYSPATH') or die('No direct script access.');
class Controller_System_Expenses extends Controller_System {
public $header = 'Expenses';
public function action_index() {

$this->template->content = view::factory('system/expenses/listings');
$this->template->content->expenses = expenses::get_all();
}

public function action_update() {
$expenses = expenses::find_by_id(form::get_value('id'));
expenses::update($expenses, form::data());
$this->redirect(request::current()->referrer());
}
}

当我尝试访问/系统/费用时,它会给出404。如果我随后将控制器移动到基本控制器文件夹,它仍然不起作用,除非我将类重命名为controller_Expenses,而不是controller_System_Expense,后者然后在路由/费用上起作用

这是bootstrap.php文件:

Route::set('automate', 'hourly')
->defaults(array('controller' => 'cron',
'action' => 'hourly'
));
Route::set('daily', 'daily')
->defaults(array('controller' => 'cron',
'action' => 'daily'
));
Route::set('auth', '<action>',
array(
'action' => '(login|logout)'
))
->defaults(array(
'controller' => 'auth',
'action'     => 'login',
));

Route::set('super', 'system/(<controller>(/<action>(/<id>)))')
->defaults(array(
'directory' => 'system',
'controller' => 'settings',
'action'     => 'index',
));

Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'Dashboard',
'action'     => 'index',
));

如果我在这里专门为url添加一个路由,如果我删除";超级";路由,子文件夹中没有任何工作,即使我在";系统";控制器文件夹我刚才工作的路线/费用仍然不起作用。

我不知道该怎么做。

区分大小写的目录/类名:

'directory' => 'System',
'controller' => 'Settings',

尾部斜线:

'system(/<controller>(/<action>(/<id>)))'

可选参数的默认值:

'id' => 0,

最新更新