Modular Extensions Revamped

Overview

HMVC stands for Hierarchical Model View Controller

Modular Extensions makes the CodeIgniter PHP framework modular. Modules are groups of independent components, typically model, controller and view, arranged in an application modules sub-directory that can be dropped into other CodeIgniter applications.

Modular Extensions Revamped - HMVC-RV

External hyperlinks, like Modular Extensions - HMVC.

Why?

While attempting to create a module template, functionality that’s available in the current version of CodeIgniter would not work in the module. The HMVC was missing some CodeIgniter functionality that has existed since v2.0.1, such as:

CodeIgniter v2.0.0:
 
  • Applying the sub-class prefix option when loading classes
CodeIgniter v2.0.1:
 
  • Multiple Environments
  • Support for environment-specific configuration files

This led to the discovery that the current Wiredesignz version goes back to before CodeIgniter v2.0.0 was released. This can be seen throughout the code when, compared against later versions of CodeIgniter. Some of the design and architectural changes in CodeIgniter are not reflected in the HMVC. [1]

Goals of this Project

  • Improved Documentation
  • Improved Functionality
  • Multi-Environment Support
  • Hosted on GitHub
[1]Sincere appreciation goes towards Wiredesignz for the original code, the contributing developers, and all those who have maintained the HMVC to support later versions of CodeIgniter.