PHPackages                             prolic/humus-mvc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. prolic/humus-mvc

ActiveLibrary[Framework](/categories/framework)

prolic/humus-mvc
================

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

1.2.0(10y ago)1227941MITPHPPHP &gt;=5.3.3

Since Oct 12Pushed 10y ago2 watchersCompare

[ Source](https://github.com/prolic/HumusMvc)[ Packagist](https://packagist.org/packages/prolic/humus-mvc)[ Docs](https://github.com/prolic/HumusMvc)[ RSS](/packages/prolic-humus-mvc/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (2)Versions (6)Used By (1)

HumusMvc
========

[](#humusmvc)

[![Dependency Status](https://camo.githubusercontent.com/27d703338e0de7d64470299c9e48baa06d3c831cc6eb1bd2967ae9a69bd2f824/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f7061636b6167652f7068703a70726f6c69633a68756d75732d6d76632f62616467652e706e67)](https://www.versioneye.com/package/php:prolic:humus-mvc)[![Total Downloads](https://camo.githubusercontent.com/916cb8a0de932e4619e5f73bfd980d37889effac12a3bd94cb30b12953676701/68747470733a2f2f706f7365722e707567782e6f72672f70726f6c69632f48756d75732d4d76632f646f776e6c6f6164732e706e67)](https://packagist.org/packages/prolic/Humus-Mvc)[![Latest Stable Version](https://camo.githubusercontent.com/1577da67e6502a2d5defd9bdade61e076b6cd82dfc4f529db8d6fdcd56d6e883/68747470733a2f2f706f7365722e707567782e6f72672f70726f6c69632f48756d75732d4d76632f762f737461626c652e706e67)](https://packagist.org/packages/prolic/Humus-Mvc)[![Latest Unstable Version](https://camo.githubusercontent.com/a958c8fd642d7f4b922254c188affc8405eba348f1764e7e7fff1e358248efd3/68747470733a2f2f706f7365722e707567782e6f72672f70726f6c69632f48756d75732d4d76632f762f756e737461626c652e706e67)](https://packagist.org/packages/prolic/Humus-Mvc)

HumusMvc integrates Zend Framework 2's ModuleManager and ServiceManager in a ZF1 application. There is also a [HumusMvcSkeletonApplication](https://github.com/prolic/HumusMvcSkeletonApplication). No Zend\_Application will be used any more.

Dependencies
------------

[](#dependencies)

- [ZendFramework 2.x](https://github.com/zendframework/zf2)
- [ZendFramework 1.12.x](http://framework.zend.com)
- Any application similar to the [HumusMvcSkeletonApplication](https://github.com/prolic/HumusMvcSkeletonApplication)

Installation
------------

[](#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.

However, you can install HumusMvc in your custom skeleton application:

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

Features / Goals
----------------

[](#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
------------

[](#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
------------------

[](#view-configuration)

Sample view configuration in module.config.php

```
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

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

Front Controller Configuration
------------------------------

[](#front-controller-configuration)

Sample front controller configuration in module.config.php:

```
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

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

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"

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 97% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~358 days

Total

4

Last Release

3884d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2eba9b8c6979d7981982254600174d49b4275f5601ccf53f29c140b420b7d7db?d=identicon)[prolic](/maintainers/prolic)

---

Top Contributors

[![prolic](https://avatars.githubusercontent.com/u/394428?v=4)](https://github.com/prolic "prolic (64 commits)")[![stefanorg](https://avatars.githubusercontent.com/u/1808859?v=4)](https://github.com/stefanorg "stefanorg (2 commits)")

---

Tags

mvczf2ZF1humus

### Embed Badge

![Health badge](/badges/prolic-humus-mvc/health.svg)

```
[![Health](https://phpackages.com/badges/prolic-humus-mvc/health.svg)](https://phpackages.com/packages/prolic-humus-mvc)
```

###  Alternatives

[shardj/zf1-extras-future

Zend Framework 1 Extras PHP 7.2 and 7.3 compatible

15548.2k1](/packages/shardj-zf1-extras-future)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
