我正在与Codeigniter PHP框架密切合作: http://www.codeigniter.com/
现在我已经将这个Modular Extensions - HMVC添加到我的Codeigniter框架中。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/overview
现在,我已经在modules文件夹中创建了自己的模块,并按照指示为控制器,模型和视图设置了目录。但是,我正在努力专注于自定义路由。
我在模块博客目录中创建了config目录,并在其中创建了routes.php文件。
现在要在浏览器中访问我的模块,我会转到localhost:8888/blog/
现在我主要是出于好奇,我想创建一个自定义路线,以便我可以访问{{1}这样的页面所以我认为设置以下路线会起作用:
localhost:8888/posts/
或者如果我有一个名为listing的方法,我可以使用
$route['posts'] = 'blog';
然而,这会返回$route['posts/listings'] = 'blog/listings';
。
是否可以在模块中创建这样的自定义路线?
答案 0 :(得分:2)
以下是一些示例,为HMVC Easy设置自定义路线。您可以对CI3使用相同的技术确保从此处选择正确的版本https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads转到分支机构并选择您的版本默认为CI-2
$route['default_controller'] = 'catalog/common/welcome/index';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
// Common
$route['admin'] = "admin/common/login/index";
$route['admin/dashboard'] = "admin/common/dashboard/index";
$route['admin/logout'] = "admin/common/logout/index";
$route['admin/register'] = "admin/common/register/index";
// Users
$route['admin/users/user_edit/(:any)'] = "admin/user/users/user_edit/$1";
$route['admin/users/user_password/(:any)'] = "admin/user/users/user_password/$1";
$route['admin/users/user_key/(:any)'] = "admin/user/users/user_key/$1";
例如:
admin将是模块名称。
application modules / admin <-- Admin Module Name
application / modules / admin / controllers / common <-- Sub folder
application / modules / admin / controllers / users <-- Sub folder
请在HMVC https://www.youtube.com/watch?v=8fy8E_C5_qQ
上为初学者观看这个精彩的教程你也可以从这里下载Htaccess http://www.insiderclub.org/downloads你可能需要加入免费下载适合codeigniter的David's Insider Club。