kigkonsult/gectrl

PHP 通用控制器,用于 MVC,实现了策略模式

资助包维护!
其他

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

This package is auto-updated.

Last update: 2024-09-12 17:39:08 UTC


README

Gectrl 是一个 PHP 通用控制器类包

  • 支持 MVC 软件设计模式
  • 使用策略模式区分控制器和应用程序逻辑

控制器

  • 提供协调逻辑

  • 将应用程序逻辑委派给 actionClasses

  • 使用 (策略) ActionClassInterface 的实现

  • 调用 actionClass 条件 evaluate 和 opt,逻辑 doAction 方法

  • 传递封装的 Package 类实例中的所有数据信息

    • 输入、输出、配置、日志等

使用方法

基本

更简单的 (http/html) 示例

<?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();

对于更详细的使用方法,请阅读 GectrlActionClassInterfacePackage 文档。

安装

Composer,从命令行

composer require kigkonsult/gectrl

在你的 composer.json 中

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

版本 1.8 支持 PHP 8,1.6 支持 7.4,1.4 支持 7.0。

赞助

通过 paypal.me/kigkonsult 进行捐赠将受到赞赏。对于发票,请发送电子邮件。

许可

Gectrl 在 LGPLv3 许可下授权。