问题
I need to create sub folders for my controllers for ease of managing and troubleshooting. I need to have controller/, controller/admin, controller/user/ kind of setup. I have tried creating the controller in controller/admin/createuser from http://mydomain/admin/createuser but that does not seem to work.
Anyone with tips on this?
Do I need custom routing?
回答1:
You would need to set up a Route to catch /admin/ and look for an 'directory' called admin rather than a 'controller file' called admin. Then your 'createuser' param would ideally be in a 'user' controller, so 'createuser' would be an action in your users controller
Note the 'directory' declaration - application/bootstrap.php
Route::set('admin', 'admin(/<controller>(/<action>(/<id>)))')
->defaults(array(
'directory' => 'admin',
'controller' => 'user',
'action' => 'index',
));
Then in your controller you need to use underscores for each directory '/' in the Class name - application/classes/controller/admin/user.php
class Controller_Admin_User extends Controller {
public function action_createuser()
{
..your code
}
来源:https://stackoverflow.com/questions/6858640/kohana-3-1-controllers-in-sub-folders-within-the-controller-folder