ovimughal/lamirator

Tool to configure your laminas app for Lamirest package & easily create modules

1.0.1 2023-02-07 13:44 UTC

This package is auto-updated.

Last update: 2024-04-22 13:06:28 UTC


README

Create Laminas, Lamirest module (oRest, oapi) with one console command

Install

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

Start Using

From app root directory enter:

./vendor/bin/lamirator create:module -m <Your-Module-Name>

For simplicity (Optional)

create a php file in you application root (e.g lamirator.php) Open it in your favourite text-editor Paste following line
<?php
require __DIR__.'/vendor/ovimughal/lamirator/app/console.php';

And save 4. Now from your terminal simply enter:

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

And your Laminas 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 Laminas 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 Laminas's AbrstractRestfulController based module where we can handle REST easily.
oRest is awesome Laminas's AbstractActionController based module. An easey to use and your loved Action based approach.
By having Lamirest module installed you will get JWT-Token, AccessControlList(ACL), Doctrine, ExceptionHandling, ApiValidation, Multi-tenant SAAS, Encryption, Clean Architecture & much more out of the box.

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

For Lamirest Module users

  1. For installation Lamirest
  2. Once you are up with installation, from your root directory type in following command in terminal
    ./vendor/bin/lamirator lamirest:serve
    This will serve Lamirest 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 :)