Codeigniter HMVC 为模块设置自定义路由
Codeigniter HMVC to set up custom routes for modules
我正在与 PHP 框架的 Codeigniter 密切合作:
http://www.codeigniter.com/
现在我已将此模块化扩展 - HMVC 添加到我的 Codeigniter 框架中。
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/overview
现在,我已经在模块文件夹中创建了自己的模块,并按照说明为控制器、模型和视图设置了目录。但是,我在自定义路由方面特别挣扎。
我已经在我的模块博客目录中创建了 config 目录,并且我已经在其中创建了 routes.php 文件。
现在要在浏览器中访问我的模块,我会去 localhost:8888/blog/
现在我主要是出于好奇,我想创建一个自定义路由,这样也许我可以像 localhost:8888/posts/
所以我认为设置以下路由会起作用:
$route['posts'] = 'blog';
或者如果我有一个名为 listings 的方法,我可以使用
$route['posts/listings'] = 'blog/listings';
然而这returns一个404 Page Not Found
.
是否可以在模块中创建这样的自定义路由?
为 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/";
$route['admin/users/user_password/(:any)'] = "admin/user/users/user_password/";
$route['admin/users/user_key/(:any)'] = "admin/user/users/user_key/";
例如:
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。
我正在与 PHP 框架的 Codeigniter 密切合作: http://www.codeigniter.com/
现在我已将此模块化扩展 - HMVC 添加到我的 Codeigniter 框架中。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/overview
现在,我已经在模块文件夹中创建了自己的模块,并按照说明为控制器、模型和视图设置了目录。但是,我在自定义路由方面特别挣扎。
我已经在我的模块博客目录中创建了 config 目录,并且我已经在其中创建了 routes.php 文件。
现在要在浏览器中访问我的模块,我会去 localhost:8888/blog/
现在我主要是出于好奇,我想创建一个自定义路由,这样也许我可以像 localhost:8888/posts/
所以我认为设置以下路由会起作用:
$route['posts'] = 'blog';
或者如果我有一个名为 listings 的方法,我可以使用
$route['posts/listings'] = 'blog/listings';
然而这returns一个404 Page Not Found
.
是否可以在模块中创建这样的自定义路由?
为 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/";
$route['admin/users/user_password/(:any)'] = "admin/user/users/user_password/";
$route['admin/users/user_key/(:any)'] = "admin/user/users/user_key/";
例如:
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。