Codeigniter HMVC为模块设置自定义路由

时间:2015-03-31 01:05:24

标签: php codeigniter codeigniter-hmvc

我正在与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';

是否可以在模块中创建这样的自定义路线?

1 个答案:

答案 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。