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]

目录
相关文章
|
13天前
|
API PHP 数据库
PhalApi 2.x:让PHP接口开发从“简单”到“极简”的开源框架
PhalApi 2.x 是一款专为接口开发设计的轻量级PHP框架,性能卓越且易于上手。它支持多协议、自动生成文档、提供多种客户端SDK,并采用现代化技术栈,适合中小型项目及微服务架构。通过清晰的分层架构和丰富的扩展库,开发者可快速构建高可用API。其日均超1000万次调用,广泛应用于移动App、物联网、电商等领域。官网:https://www.phalapi.net/,欢迎体验高效开发之旅!
|
6月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
102 4
|
6月前
|
存储 前端开发 JavaScript
前端的全栈之路Meteor篇(四):RPC方法注册及调用-更轻量的服务接口提供方式
RPC机制通过前后端的`callAsync`方法实现了高效的数据交互。后端通过`Meteor.methods()`注册方法,支持异步操作;前端使用`callAsync`调用后端方法,代码更简洁、易读。本文详细介绍了Methods注册机制、异步支持及最佳实践。
126 3
|
7月前
|
开发框架 JSON 缓存
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
在数字化浪潮推动下,RESTful API成为Web开发中不可或缺的部分。本文详细介绍了在Python环境下如何设计并实现高效、可扩展的RESTful API,涵盖框架选择、资源定义、HTTP方法应用及响应格式设计等内容,并提供了基于Flask的示例代码。此外,还讨论了版本控制、文档化、安全性和性能优化等最佳实践,帮助开发者实现更流畅的数据交互体验。
160 1
|
6月前
|
监控 API 开发工具
深入理解API设计:构建高效的接口
【10月更文挑战第6天】深入理解API设计:构建高效的接口
160 0
|
9月前
|
安全 API 网络架构
Python RESTful API设计新篇章,打造高效、易用、安全的Web服务接口,你准备好了吗?
【7月更文挑战第22天】在数字化转型中,RESTful API借助Python的Flask和Django REST Framework,提供高效、易用和安全的接口设计。Flask示例展示了简洁的CRUD操作,Swagger等工具增进API文档的易用性,而HTTPS、JWT和输入验证确保安全性。Python RESTful API设计涉及效率、可用性和安全,是不断进化的Web服务接口的关键。准备好踏上这一新篇章了吗?一起探索,创造卓越!
98 2
|
11月前
|
JSON Rust 安全
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
349 0
|
10月前
|
SQL 缓存 测试技术
RESTful API设计的最佳实践:构建高效、可维护的Web服务接口
【6月更文挑战第11天】构建高效、可维护的RESTful API涉及多个最佳实践:遵循客户端-服务器架构、无状态性等REST原则;设计时考虑URL结构(动词+宾语,使用标准HTTP方法)、使用HTTP状态码、统一响应格式及错误处理;确保数据安全(HTTPS、认证授权、输入验证);实施版本控制;并提供详细文档和测试用例。这些实践能提升Web服务接口的性能和质量。
|
11月前
|
移动开发 JavaScript Android开发
H5封装和原生开发这两种不同的应用开发方式有什么区别?
原生开发是指为特定操作系统(如iOS或Android)开发应用程序。整个应用程序代码,逻辑和界面都是按照该系统提供的规范来开发,因此其性能和体验感会很好,可以与设备充分融洽,提供流畅的用户体验。原生开发App充分的利用了操作系统的功能,给设备上的应用程序提供了高性能和良好的用户体验。原生应用程序拥有很好的设备兼容性,可以直接访问设备的硬件功能等,如相机,蓝牙等。
100 1
|
开发框架 小程序 前端开发
阿里云小程序框架
阿里云小程序框架
下一篇
oss创建bucket