kigkonsult/gectrl

PHP generic controller for MVC, implements the strategy pattern

Fund package maintenance!
Other

v1.8.5 2022-05-12 12:48 UTC

This package is auto-updated.

Last update: 2024-04-12 16:40:04 UTC


README

Gectrl is a PHP generic controller class package

  • Supports the MVC software design pattern
  • Distinguish controller and application logic using a strategy pattern

The controller

  • provides coordination logic

  • delegates application logic to actionClasses

  • using implementations of the (strategy) ActionClassInterface,

  • invoking of actionClass condition evaluate and opt, logic doAction methods,

  • passing all data information in an encapsulated Package class instance

    • input, output, config, logger etc

Usage

Basic

Simpler (http/html) example

<?php
namespace Kigkonsult\Gectrl;
use ActionSrc\PrepAction;
use ActionSrc\CreateAction;
use ActionSrc\ReadAction;
use ActionSrc\UpdateAction;
use ActionSrc\DeleteAction;
use ActionSrc\CatchUpAction;
require 'vendor/autoload.php';

...

$package = Gectrl::init( $config, $logger )
    ->setActionClasses(
        [
            PrepAction::class,
            CreateAction::class,
            ReadAction::class,
            UpdateAction::class,
            DeleteAction::class,
            CatchUpAction::class,
        ]
    )
    ->main( $_REQUEST );
...

echo $package->getOutput();

For more detailed usage, read Gectrl, ActionClassInterface and Package docs.

Installation

Composer, from the Command Line:

composer require kigkonsult/gectrl

In your composer.json:

{
    "require": {
        "kigkonsult/gectrl": "dev-master"
    }
}

Version 1.8 supports PHP 8, 1.6 7.4, 1.4 7.0.

Sponsorship

Donation using paypal.me/kigkonsult are appreciated. For invoice, please email.

Licence

Gectrl is licensed under the LGPLv3 License.