一、Asf 是什么?

全称 API Services Framework, 用C语言编写的轻量级PHP扩展框架, 专注于 API 开发。

二、解决了什么问题?

2.1 把复杂的逻辑简单化(降低错误率, 减少代码量)

2.2 提升项目开发效率(您是否经历过,老板上午提需求,下午就得对外发布)

2.3 规范不合理的开发方式

2.4 解决输入输出的安全性问题

2.5 解决框架带来的性能消耗

三、有哪些优点呢?

3.1 与原生PHP做比较,只有少量的性能消耗

3.2 框架对常用类进行了实用的封装, 类随PHP进程启动就常驻内存

3.3 支持本地类库自动加载规则

3.4 支持多种配置文件格式(INI, PHP, PHP Array)

3.5 支持多种路由协议, 默认使用RESTful路由模式, 提供方便的路由配置器

3.6 提供实用的机制: GPC, Loader, Constants, Config, SG, 999, Utili

3.7 提供日志记录功能, 包括PHP错误日志, SQL CURD日志

3.8 提供DB辅助函数(MySQL, Sqlite, Pgsql), 人性化Query Builder

3.9 支持Log buffer cache, Log resources are automatically cleared

4.0 遵循PHP PSR Standards, PHP Coding Standards

4.1 框架结构简单, PHP标准的扩展安装方式, 框架上手快。框架执行速度快, 更少的内存、CPU使用

四、流程图

五、性能

5.1.1 压测结论

没有挑取漂亮的数据, 或者配置一个为了压测的最优环境. 只是简单地采用以大部分web机器使用的环境进行测评。

这里只是给出了一种测试方法, 通过多次不同并发数测试结果得知,Asf 与原生 PHP 性能消耗是 6% ~ 15%。

5.1.2 业务开发速度结论

采用Asf框架开发业务,代码量能节约 20% ~ 25%。假如项目开发需要4天 * 8小时, 能节约出整整1天 * 8小时的工作时间。

六、安装

6.1 环境要求

PHP 7.0 +

GCC 4.4.0+ (Recommended GCC 4.8+)

6.2 下载git clone https://github.com/yulonghu/asf.git

6.3 在Linux/Unix/Mac下编译$ /path/to/phpize

$ ./configure --with-php-config=/path/to/php-config

$ make && make install

6.4 文档

七、开始使用

7.1 使用内置工具生成空项目/php-bin-path/php /tools/asf_project.php /to-path/project_name

7.1.1 目录结构

7.1.2 config/config.php

7.1.3 public/index.php

7.1.4 Default service

八、在Nginx/Apache/Lighttpd中运行

8.1 输出结果

九、License

Asf is open source software under the PHP License v3.01

作者:fanjiapeng

链接:https://www.jianshu.com/p/96bb6c23334a

php扩展的框架,新一代轻量级PHP扩展框架 Asf相关推荐

  1. .net core orm框架_轻量级高性能PHP框架ycroute

    YCRoute 目录 框架介绍 运行环境 代码结构 路由配置 过滤验签 控制层 加载器 模型层 数据交互dao层(可选) Redis缓存操作 数据库操作 配置加载 公共类加载 公共函数 日志模块 视图 ...

  2. java 轻量级插件化框架_轻量级插件化框架——Small

    photo-1441716844725-09cedc13a4e7.jpg 前言 世界那么大,组件那么小.Small,做最轻巧的跨平台插件化框架. --Galenlin 这是Small作者,林光亮老师, ...

  3. php 邮件类库,[3.3]-扩展类库:基于PHPMailer的邮件发送 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    3.3.1 扩展类库:基于PHPMailer的邮件发送 此扩展可用于发送邮件. 3.3.2 安装和配置 从 PhalApi-Library 扩展库中下载获取 PHPMailer 包,如使用: $ gi ...

  4. php api 无符号整数基数为16的整数参数的字符串表示形式,[1.12]-参数规则:接口参数规则配置 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    "播下一种思想,收获一种行为:播下一种行为,收获一种习惯:播下一种习惯,收获一种性格:播下一种性格,收获一种命运." --<成君忆:水煮三国> 1.12.1 参数解析 ...

  5. php get请求 json返回,[1.23]-请求和响应:GET和POST两者皆可得及超越JSON格式返回 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    1.23.1 请求 把我们后台的API想象成一个函数,那么请求的参数就是我们的参数列表:而接口响应的数据则对应函数返回的结果. 对于请求,正如前面所看到的,我们可以使用$_GET,也可以使用$_POS ...

  6. php调用好单库api视频教程,[8.1]-PhalApi视频教程 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

    [8.1] PhalApi视频教程 先在这里感谢以下录制小组的同学,是你们让世界看到PhalApi的视频教程! A西瓜妹子.听风不语.彩色的雨.Catch.喵了个咪.dogstar PhalApi教程 ...

  7. 超小型php框架,超轻量级的PHP框架 MiniFramework

    软件介绍 MiniFramework 简介 MiniFramework 是一款遵循 Apache2 开源协议发布的,支持 MVC 和 RESTful 的超轻量级 PHP 开发框架.MiniFramew ...

  8. phalapi 数据库锁_[7.11]-phalapi-进阶篇5(数据库读写分离) | PhalApi(π框架) - PHP轻量级开源接口框架...

    phalapi-进阶篇5(数据库读写分离以及多库使用) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 读写分离是我们常用的一种解决方案,它可以解决大 ...

  9. phalapi可以依赖注入么_[7.8]-phalapi-进阶篇2(DI依赖注入和单例模式) | PhalApi(π框架) - PHP轻量级开源接口框架...

    phalapi-进阶篇2(DI依赖注入和单例模式) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 离上一次更新过去了快两周,在其中编写了一个关于DB ...

最新文章

  1. 前端安全之CSRF攻击
  2. GLSL着色器周记02
  3. 一个三行两列右列固定左列自适应宽度的CSS
  4. 编程开发使用的软件大全
  5. 资源推荐—HTML5精品资源
  6. linux (阿里云 CentOS7) 中安装配置 RocketMQ
  7. Dubbo作者亲述:那些辉煌、沉寂与重生的故事 1
  8. 《南溪的目标检测学习笔记》——数据集制作(legacy)
  9. TMS320C55x汇编语言编程
  10. sql server 触发器
  11. python怎么用pandas查找指定字符串_Python Pandas:通过搜索子字符串查找表
  12. 2021-08-27 BERT4Rec简介
  13. 关于电量采集芯片(库仑计)DS2781相关操作及配置
  14. 网易游戏笔试【2020暑期实习生】游戏研发工程师第二批在线笔试4月6日
  15. 第20件事 风险分析
  16. Encoded Strings I 模拟(2021.11.沈阳)
  17. 【记录读论文时遇到的一些算法2】—— Occupancy Grid Map
  18. 从提示框:适用于Windows的iPad接口仿真,Easy Access iPhone手电筒和Kindle收藏管理...
  19. 最低成本的ARM调试解决方案——有关于Wiggler、H-Jtag、OpenOCD、GDB
  20. Python移动自动化测试面试准备

热门文章

  1. Windows下修改jupyter默认工作路径教程
  2. python二维元组_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
  3. 【开源方案共享】三维点云快速分割算法
  4. Blender左轮手枪制作教程
  5. 机器学习与数据科学 基于R的统计学习方法(基础部分)
  6. Linux Shell ssh登录脚本
  7. Javascript之旅——第一站:从变量说起
  8. 题目1444:More is better
  9. 有关Adobe公司的PostScript语言授权问题
  10. 三、概念数据模型CDM(Conceptual Database Model )