我对Kohana很新,并且想知道在应用程序/类/控制器目录中组织大量文件的最佳方法是什么。
我目前的结构是:
-application
--classes
---controller
----page
-----test.php
我想从网址调用页面而不需要页面或任何其他子目录的名称:
www.website.com/test/
我的控制器类开始了:
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Test
*
* @package Test
* @category Page
* @author
*
*/
class Controller_Page_Test extends Controller_Template {
// Default
public function action_index() {
// Template vars
}
}
我需要做些什么来避免它抛出的404错误?我假设我需要在bootstrap.php中设置一个路由,但我真的不知道怎样做以允许从子目录中激活页面。
提前致谢。
答案 0 :(得分:4)
在路线中使用directory
param:
Route::set('with_dir',
'test(/<action>(/<id>))',
)
->defaults(array(
'directory' => 'page',
'controller' => 'test',
));
您可以将regex用于控制器列表。例如,您在页面目录中有Controller_Test和Controller_Foo。这是一条路线:
Route::set('with_dir',
'<controller>(/<action>(/<id>))',
array(
'controller' => '(test|foo)',
))
->defaults(array(
'directory' => 'page',
'controller' => 'test',
));