hubtel-gh / general-services-sdk-php
用于使用hubtel ussd系统的框架。
dev-master
2020-09-14 15:26 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: 6.*
This package is auto-updated.
Last update: 2024-09-15 00:21:45 UTC
README
简介
这是一个用于在PHP中构建针对 Hubtel可编程服务 的ussd应用的框架。
该项目是从 原始的C#版本 和 PHP USSD框架 转移过来的。
目的
有多种方式可以集成 Hubtel可编程服务,本项目特别适用于与PHP集成。
规格
- 应用程序配置设置
- PHP面向对象架构
- 会话存储Redis存储或任何RDMBS
- 开发标准
安装
1 需要 Composer PHP通用服务框架 https://github.com/hubtel/general-services-sdk-php 可在较新的PHP版本上顺利运行。Hubtel可编程服务PHP SDK可以使用Composer安装。运行以下命令
$ composer require hubtel-gh/general-services-sdk-php
# 或者克隆仓库到您的机器/服务器,然后导航到项目。
2 使用Redis或任何RDMBS创建会话存储 对于Redis,创建一个实现 \HubtelUssdFramework\SessionStore 的Redis存储,相应地配置。
'scheme' => '', 'host' => '', 'port' => ''
3 在Index.php文件中定义应用程序设置
Ussd::process('logger file', 'RedisStore', 'USSDApp', 'USSDMain', 'Main startup method/action for the USSD('start')', 'server'); USSDApp - # the folder that contains all your ussd applications logic USSDMain - # the main controller/class of your ussd logic start - # the main action/function/method of your ussd logic storageType - # RedisStore './general.log' - # path to your logger file
示例
Ussd::process('./general.log', new RedisStore(), 'USSDApp', 'USSDMain', 'start', $_ENV['SERVER']);
用法
使用以下命令运行脚本
$ php -S (Server address)
演示
... # Main startup method/action for the USSD initiates the USSD session public function start() { $menu = new \UssdFramework\UssdMenu(); $menu->header($this->_header) ->createAndAddItem('List Items', 'list_items') ->createAndAddItem('Exit', 'close', 'Main'); return $this->renderMenu($menu); } public function list_items() {$menuHeader = 'Menu Header'; $menu = new \UssdFramework\UssdMenu(); $menu->header($menuHeader) ->createAndAddItem('Sunday', 'e_menu') ->createAndAddItem('Monday', 'e_menu') ->createAndAddItem('Tuesday', 'e_menu') ->createAndAddItem('Wednesday', 'e_menu') ->createAndAddItem('Thurday', 'e_menu') ->createAndAddItem('Friday', 'e_menu') ->createAndAddItem('Saturday', 'e_menu') ->addItem(new \UssdFramework\UssdMenuItem('0', 'Back', 'e_menu')); return $this->renderMenu($menu); } # display the menu public function e_menu(){ return $this->redirect('start'); } # Close user's USSD session public function close() { # closing message $message = "$this->_header \n\nThank you for using our USSD service"; return $this->render($message); } ...
开发环境设置
- 安装 Docker
- 运行Redis Docker镜像
$ docker run -d -p 6379:6379 --name redis1 redis
- 资源