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 https://github.com/zendframework/ZendSkeletonModule 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.
You can also do this with the Unix utilties
find
andsed
:$ 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 [
/* ... */
'MyNewModule',
]
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, openconfig/application.config.php
instead, and add your module under themodules
key:'modules' => [ /* ... */ 'MyNewModule', ],