ovimughal/zf3-module-creator

dev-master 2018-05-07 11:57 UTC

This package is auto-updated.

Last update: 2024-04-16 19:28:20 UTC


README

Create ZF3 module with one console command

Install

  1. Open terminal
  2. Go to you root directory
cd /path/of/your/application
(e.g cd /var/www/ZF3-App)
  1. Run below composer command
composer require ovimughal/zf3-module-creator

Start Using

From app root directory enter:

php vendor/ovimughal/zf3-module-creator/app/console.php create:module -m <Your-Module-Name>

For simplicity (Optional)

  1. create a php file in you application root (e.g zf3-module.php)
  2. Open it in your favourite text-editor
  3. Paste following line
<?php
eval(base64_decode('cmVxdWlyZSBfX0RJUl9fLicvdmVuZG9yL292aW11Z2hhbC96ZjMtbW9kdWxlLWNyZWF0b3IvYXBwL2NvbnNvbGUucGhwJzs='));

And save 4. Now from your terminal simply enter:

php zf3-module.php create:module -m <Your-Module-Name>

And your ZF3 Module is ready to use

Options

  1. -m <Module-Name> (Default is SkeletonModule)
  2. -t <Type> (Type is either zf3 or oapi or oRest, default is zf3, any other type other than oapi or oRest will consider zf3)

Note

zf3 is default ZF3 Module, since no mechanism is provided to auto generate this module as was available in ZF2 Eclipse PDT or Zend Studio, I kept option here.
oapi is ZF3's AbrstractRestfulController based module where we can handle REST easily.
oRest is awesome ZF3's AbstractActionController based module. An easey to use and your loved Action based approach.
By having oapiconfig module installed you will get Token based mechanism, AccessControlList(ACL), Doctrine, ExceptionHandling, ApiValidation & much more out of the box.

  1. Test in your browser http://hostname:port/yourapp/yourmodule no configuration needed.
  2. Enjoy :)

For Oapiconfig Module users

  1. For installation Oapiconfig
  2. Once you are up with installation, from your root directory type in following command in terminal
    zf3-module.php oapi:serve (zf3-module.php is the file we created above in step 1)
    This will serve Oapiconfig module & do all the necessary configurations automatically
    Also some config files will be generated for you.
  3. For doctrine to work properly we need to tell it the location of Entities
    Paste following in any module\<module-name>\config\module.config.php return array
'doctrine' => [ 
    'driver' => [
        __NAMESPACE__ . '_driver' => [
            'class' => \Doctrine\ORM\Mapping\Driver\AnnotationDriver::class,
            'cache' => 'array',
            'paths' => [__DIR__ . '/../src/Entity']
        ],
        'orm_default' => [
            'drivers' => [
                __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
            ],
        ],
    ],
],
  1. You are Done :)