Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
231 views
in Technique[技术] by (71.8m points)

Kohana 3.1 Controllers in Sub Folders within the Controller Folder

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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
  }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...