kigkonsult / gectrl
PHP 通用控制器,用于 MVC,实现了策略模式
v1.8.5
2022-05-12 12:48 UTC
Requires
- php: >=8.0
- ext-mbstring: *
- kigkonsult/keyvaluemgr: >=1.8
Requires (Dev)
- phpstan/phpstan: >=0.9.3
- phpunit/phpunit: >=6.5.14
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();
对于更详细的使用方法,请阅读 Gectrl、ActionClassInterface 和 Package 文档。
安装
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 许可下授权。