一个极简单的、面向过程的、以 json 为输入输出的 php 框架
一个极简单的、面向过程的、以 json 为输入输出的 php 框架。 在 yyq_minimalist_frame 基础上做了基础组件对象化,并且将配置文件从组件中剥离了出来。, (*1)
包含的功能如下:, (*2)
composer 注册在: https://packagist.org/packages/yyq/minimum_frame, (*3)
一个 location 支持多个 api 调用,调用的 api 名称由 URL 参数 m 标明,调用参数统一以 json 格式写到 a 参数中,格式为:
http://域名/myapi?m=api名&a={"aaa":1,"bbb":2}
例如:http://my.com/myapi?m=test2&a={"aaa":1,"bbb":2}, (*4)
错误码 | 含义 |
---|---|
0 | 成功 |
-1 | URL 参数错误 |
-2 | 调用方法名错误 |
-3 | 缺失必须的参数 |
-4 | Signature 校验失败 |
| -9 | 执行错误 |, (*5)
$ sudo apt install composer
{ "require": { "yyq/minimum_frame": ">=1.0.0" } }
$ composer install 更新可以执行: $ composer update
如果报错缺:php_xmlrpc
可以安装:$ sudo apt install php7.0-xmlrpc
如果被墙,可以按下面的命令使用 composer 国内镜像:, (*6)
$ composer config repo.packagist composer https://packagist.phpcomposer.com $ composer clearcache $ composer install
编写 test.php
php
true) );
// 设置:允许跨域访问
comm_set_run_config( array('cross_origin' => true) );
// 设置:以宽松模式检查 SQL 语句
comm_set_run_config( array('sql_injecte_loose' => true) );
// 如果需要 session 需要把这行写到 comm_frame_main 函数前;如果不需要可以不写。
session_start();
// 调用主路由函数
comm_frame_main( $route_functions );
// 以下为实现自己的功能函数
function test( $args )
{
$result = comm_check_parameters( $args, array('email', 'password', 'signature') );
if( 0 != $result['err'] )
return $result;
// 有签名参数,校验签名值
if( !comm_check_args_signature( $args )
{
$result['err'] = -4;
$result['err_msg'] = 'Signature 校验失败';
return $result;
}
// do something...
// 使用数据库
$mysql = comm_get_default_mysql();
$users = $mysql->selectDataEx( 'user', array('id', 'name'), array(1, 'yyq') );
// 使用 Memcache
comm_get_default_memcache()->setValue('users', $users);
// 使用 Log
comm_get_default_log()->setLogLevel( YLog::LEVEL_WARN );
return $result;
}
function test2( $args )
{
$result = comm_check_parameters( $args, array('aaa', 'bbb') );
if( 0 != $result['err'] )
return $result;
// do something...
return $result;
}
?>
, (*7)
配置
框架可以配置一套默认的全局 YMysql、YMemcache、YLog 对象,其中 YLog 已默认创建,之后通过调用 comm_get_default_log() 直接使用。
YMysql 与 YMemcache 可以调用 comm_create_default_mysql() 和 comm_create_default_memcache() 来创建系统默认对象,之后通过调用 comm_get_default_mysql() 和 comm_get_default_memcache() 直接使用。
也可以自己直接 new 对象使用。, (*8)