PhalApi-v1.3.2,一周年纪念版,轻量级接口框架

简介:

screenshot#PhalApi-v1.3.2 (一周年纪念版)发布,PHP轻量级开源接口框架#

[前言]

时隔一年PhalApi已经一岁了,从无到有在到活跃人数350+的社区,到28+落地项目,实用拓展17+,一切都离不开各位小伙伴的一同的努力以及对开源精神的热情,那么小编今天为大家带来PhalApi最新一期的更新v1.3.2的具体内容:

[升级注意]

基于老版本开发的应用升级到v1.3.2版本,为了更好的体验,本次升级请注意如下几点

只需直接覆盖核心文件PhalApi即可使用新版功能(涉及到有个人修改部分需要自行调整)

此次更新涉及到关键文件修改在次做特别说明:

  1. 初始化文件init.php简化,并默认装载扩展类库Library目录

        //默认装载扩展类库Library目录(可在index.php中去除对Library的加载)
        $loader = new PhalApi_Loader(API_ROOT, 'Library');
    
  2. listAllApis.php在线接口列表,追加对“更多说明”的使用支持,即使用注释@desc

    此项更新需要覆盖**listAllApis.php**文件
    
  3. 修正install可视化安装中对listAllApis.php 和 checkApiParams.php 文件中的项目名称

    
    此项更新需要获取install文件内容
    
    

[重要更新]

  1. 修改notorm使用sql语句使用:和?替换执行sql时,对于int,bool,null进行单独处理

    修复之前应为使用如下代码会提示sql语句limit中的值被sql中被添加单引号问题,并且支持bool以及null的处理
    
        $sql = 'select * from example LIMIT :start,:num';
        $params = array(':start' => $start, ':num' => $num);
        $rs= DI()->notorm->example->queryAll($sql, $params);
    
    特别注意:请保证使用的$start,$num是int类型可以使用如下方式保证
    
        $sql = 'select * from example LIMIT :start,:num';
        $params = array(':start' => (int)$start, ':num' => (int)$num);
        $rs= DI()->notorm->example->queryAll($sql, $params);
    
  2. 优化了PhalApi_Request_Formatter_File,支持了对文件上传类型验证增加了ext后缀名验证

    在需要对上传的文件进行过滤、接收和处理时,可以使用文件类型,如:
    
        array(
            'name' => 'upfile', 
            'type' => 'file', 
            'min' => 0, 
            'max' => 1024 * 1024, 
            'range' => array('image/jpeg', 'image/png') , 
            'ext' => array('txt','xml')
        )
    
    其中,ext是对文件后缀名进行验证,当如果上传文件后缀名不匹配时将抛出异常。文件扩展名的过滤可以类似这样进行配置:
    
        //单个后缀名 - 数组形式
        'ext' => array('jpg')
        
        //单个后缀名 - 字符串形式
        'ext' => 'jpg'
        
        //多个后缀名 - 数组形式
        'ext' => array('jpg', 'jpeg', 'png', 'bmp')
        
        //多个后缀名 - 字符串形式(以英文逗号分割)
        'ext' => 'jpg,jpeg,png,bmp'
    

[不兼容的升级]

  1. 默认采用以数组的形式返回结果集,老版本兼容升级请见

    此项变动会对老版本产生影响,但是为了更好的用户体验我们依然选择做出改变,对不兼容造成的影响希望各位童鞋能够多多体谅.
    

[亮点更新]

1、提供CHM格式的wiki文档

2、添加Object-C的SDK包XSHttpTool,感谢 @garden! 提供

3、添加PhalApi基础教程到官方wiki,感谢 @喵了个咪 提供

4、修复一些轻量bugfixed 感谢@scott 反馈

5、新增图片上传拓展UCloud 感谢 @Summer 提供

6、新增第三方支付拓展Pay 感谢 @Summer 提供

7、新增图片压缩水印拓展Image 感谢 @喵了个咪 提供

[其他更新]

1、官方wiki修复bugfixed 感谢@小艾 反馈

[致谢]

在本次版本更新中,需要特别感谢以下同学的努力与贡献(顺序不分先后):

@scott、@喵了个咪、@小艾、@Summer、@dogstar

再次感谢,开源的路上,@开源中国和大家一直以来对PhalApi的关注和肯定,谢谢!

PhalApi开源,依然在路上!

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

目录
相关文章
|
3月前
|
JSON Rust 安全
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
119 0
|
1月前
|
前端开发 JavaScript
框架
框架
13 3
|
8月前
|
JavaScript 前端开发
库和框架的区别
Vue.js是一种JavaScript库,提供了一些基本的基础构建块,以便您能够构建可重用的组件,并将它们组合成可维护的大型应用程序。Vue.js采用了响应式编程的方法,使您能够声明性地描述应用程序的状态,并将其映射到DOM。Vue.js还提供了一些方便的功能,例如指令和过滤器,以便您能够处理数据和组件之间的交互。
33 0
|
5月前
|
监控 数据可视化 前端开发
一个.NetCore前后端分离、模块化、插件式的通用框架
一个.NetCore前后端分离、模块化、插件式的通用框架
103 0
|
11月前
|
Web App开发 JavaScript 算法
开源轻量级 IM 框架 MobileIMSDK 的Uniapp客户端库已发布
开源轻量级 IM 框架 MobileIMSDK 的Uniapp客户端库已发布
202 0
|
编解码 分布式计算 Java
基于 netty 封装的超简单通俗易用 服务端客户端交互框架 《net-framework》原理,源码和使用说明,开箱即用,只需要开发业务逻辑,完全自定义无限扩充 [结尾附github源码]
基于 netty 封装的超简单通俗易用 服务端客户端交互框架 《net-framework》原理,源码和使用说明,开箱即用,只需要开发业务逻辑,完全自定义无限扩充 [结尾附github源码]
基于 netty 封装的超简单通俗易用 服务端客户端交互框架 《net-framework》原理,源码和使用说明,开箱即用,只需要开发业务逻辑,完全自定义无限扩充 [结尾附github源码]
|
JavaScript
框架和库的区别
一、框架: 二、库(插件)
|
JSON 负载均衡 算法
轻量级RPC框架(0 - 项目概述)
轻量级RPC框架(0 - 项目概述)
轻量级RPC框架(0 - 项目概述)
|
TensorFlow 算法框架/工具 图计算
如何实现一个图化框架?代码已开源!
大家好,我是不会写代码的纯序员——Chunel Feng[3]。俗话说,人生如码,码如人生。人生中,有些事情是可以同时进行的,有些事情又必须是前后依次进行的;有些事情是可以刚开始就做的,有些事情又必须等待某个时机成熟了才可以开始。
282 0
如何实现一个图化框架?代码已开源!
|
SQL JSON 前端开发