2017 © Pedro Peláez
 

library humus-mvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

image

prolic/humus-mvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

  • Wednesday, September 23, 2015
  • by prolic
  • Repository
  • 2 Watchers
  • 11 Stars
  • 175 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 5 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

HumusMvc

Dependency Status Total Downloads Latest Stable Version Latest Unstable Version, (*1)

HumusMvc integrates Zend Framework 2's ModuleManager and ServiceManager in a ZF1 application. There is also a HumusMvcSkeletonApplication. No Zend_Application will be used any more., (*2)

Dependencies

Installation

Usually you would install HumusMvc in the HumusMvcSkeletonApplication. If you want to follow that steps, please take a look at the installation instructions of the HumusMvcSkeletonApplication., (*3)

However, you can install HumusMvc in your custom skeleton application:, (*4)

  1. Add "prolic/humus-mvc": "dev-master" to your composer.json
  2. Run php composer.phar install

Features / Goals

  • add possibility to use view helpers with service locator [COMPLETE]
  • add possibility to use action helpers with service locator [COMPLETE]
  • add possibility to use controller plugins with service locator [COMPLETE]
  • configure Zend_Controller_Front with service locator [COMPLETE]
  • add tests [INCOMPLETE]
  • refactore translation service [COMPLETE]
  • create Zf1MvcListenerAggregate and collect all mvc resources here [INCOMPLETE]
  • locale (Zend_Locale) will be created and stored in registry on every request [COMPLETE]
  • make dispatching event based [COMPLETE]
  • add documentation [INCOMPLETE]

View Helpers

  • When a Zend_Translate or Zend_Translate_Adapter object is known in service locator with the key "Translator", the Zend_View_Helper_Translate will get the translator injected. No need for putting Zend_Translate in Zend_Registry.
  • When a Zend_Navigation or Zend_Navigation_Container object is known in service locator with the key "Navigation", a custom HumusMvc\View\Helper\Navigation is used. This special view helper will check the service locator for the navigation object, additionally, if additional Zend_Acl is available with key "Acl" and Zend_Acl_Role_Interface is available with key "AclRole", both get injected in navigation view helper, too. Same for translator under key "Translator". If nothing is known in service locator, the default Zend_View_Helper_Navigation will be used.
  • can be configured with module manager: module config key "view_helpers", interface for module class "Zend\ModuleManager\Feature\ViewHelperProviderInterface" and method in module class "getViewHelperConfig"

View Configuration

Sample view configuration in module.config.php, (*5)

return array(
    'view' => array(
        'classname' => 'HumusMvc\View',
        'useViewRenderer' => true,
        'useStreamWrapper' => false,
        'doctype' => 'XHTML1'
    )
);

classname (optional): The view class to use. Must be an instance of HumusMvc\View useViewRenderer, doctype, contentType, assign, etc. are default config keys for Zend_View, (*6)

A special plugin loader (HumusMvc\View\HelperPluginManager) will get injected into the view object., (*7)

Front Controller Configuration

Sample front controller configuration in module.config.php:, (*8)

return array(
    'front_controller' => array(
        'controller_directory' => array(
            'test' => __DIR__ . '/../src/test/controllers' // key = name of module, value = path to controllers in this module
        ),
        'module_controller_directory_name'=> 'controllers',
        'base_url' => '/',
        'params' => array(
            'displayExceptions' => false, // true for development
            'disableOutputBuffering' => true
        ),
        'plugins' => array(
            'actionStack' => 'Zend_Controller_Plugin_ActionStack',
            'putHandler' => array(
                'class' => 'Zend_Controller_Plugin_PutHandler',
                'stack_index' => 10
            ),
        ),
        'throw_exceptions' => false,
        'return_response' => false,
        'default_module' => 'default',
        'default_action' => 'index',
        'default_controller_name' => 'index',
    )
);

controller_directory: Key = "ModuleName", Value = "Path to controllers in that module" plugins: Key = "PluginName", Value = "PluginClass" or array (class and stack_index) - if a plugin is registred in service locator, the plugin will be loaded from service locator, otherwise it will simply be instantiated with "new". base_url, params, module_controller_directory_name, etc. are default config keys for the front controller, (*9)

A special plugin loader (HumusMvc\Controller\Action\HelperPluginManager) will get injected into the action controller object., (*10)

Action helpers can be configures by module manager: module config key "action_helpers", interface for module class "HumusMvc\ModuleManager\Feature\ActionHelperProviderInterface" and method in module class "getActionHelperConfig", (*11)

The Versions

23/09 2015

dev-master

9999999-dev https://github.com/prolic/HumusMvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

  Sources   Download

MIT

The Requires

 

mvc zf1 zf2 humus

23/09 2015

1.2.0

1.2.0.0 https://github.com/prolic/HumusMvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

  Sources   Download

MIT

The Requires

 

mvc zf1 zf2 humus

07/03 2014

1.1.1

1.1.1.0 https://github.com/prolic/HumusMvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

  Sources   Download

MIT

The Requires

 

mvc zf1 zf2 humus

16/11 2012

dev-testbranch

dev-testbranch https://github.com/prolic/HumusMvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

  Sources   Download

MIT

The Requires

 

mvc zf1 zf2 humus

16/11 2012

1.1.0

1.1.0.0 https://github.com/prolic/HumusMvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

  Sources   Download

MIT

The Requires

 

mvc zf1 zf2 humus

12/10 2012

1.0.0

1.0.0.0 https://github.com/prolic/HumusMvc

HumusMvc integrated ZF2's ModuleManager and ServiceManager in a ZF1 application

  Sources   Download

MIT

The Requires

 

mvc zf1 zf2 humus