Sample skeleton module for use with the ZF2 MVC layer
Latest commit 947ed32 Jun 28, 2016 @weierophinney weierophinney Merge branch 'feature/zf3'
Close #27

Zend Framework Skeleton Module

This is a sample skeleton module for use with zend-mvc applications.


First, decide on a namespace for your new module. For purposes of this README, we will use MyNewModule.

Clone this repository into your application:

$ cd module
$ git clone MyNewModule
$ cd MyNewModule

If you wish to version the new module with your application, and not as a separate project, remove the various Git artifacts within it:

$ rm -Rf .git .gitignore

If you want to version it separately, remove the origin remote so you can specify a new one later:

$ git remote remove origin

The next step will be to change the namespace in the various files. Open each of config/module.config.php, src/Module.php, and src/Controller/SkeletonController.php, and replace any occurence of ZendSkeletonModule with your new namespace.

find and sed

You can also do this with the Unix utilties find and sed:

$ for php in $(find . -name '*.php');do
> sed --in-place -e 's/ZendSkeletonModule/MyNewModule/g' $php
> done

Next, we need to setup autoloading in your application. Open the composer.json file in your application root, and add an entry under the autoload.psr-4 key:

"autoload": {
    "psr-4": {
        "MyNewModule\\": "module/MyNewModule/src/"

When done adding the entry:

$ composer dump-autoload

Finally, notify your application of the module. Open config/modules.config.php, and add it to the bottom of the list:

return [
    /* ... */


If you are using an older version of the skeleton application, you may not have a modules.config.php file. If that is the case, open config/application.config.php instead, and add your module under the modules key:

'modules' => [
    /* ... */