PHP扩展框架 Asf 的介绍

不言
发布: 2023-04-02 20:50:01
原创
2108 人浏览过

这篇文章主要介绍了关于PHP扩展框架 Asf 的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

一、Asf 是什么?

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

二、解决了什么问题?

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

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

  • 规范不合理的开发方式

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

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

三、有哪些优点呢?

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

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

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

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

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

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

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

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

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

  • 遵循PHP PSR Standards, PHP Coding Standards

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

四、流程图

2395502858-5af53899e776c_articlex[1].png

五、性能

3334184775-5af538e3c0088_articlex[1].png

5.1 总结

5.1.1 压测结论

没有挑取漂亮的数据, 或者配置一个为了压测的最优环境. 只是简单地采用以大部分web机器使用的环境进行测评。
这里只是给出了一种测试方法, 通过多次不同并发数测试结果得知, Asf 与原生 PHP 性能消耗是 6% ~ 15%

5.1.2 业务开发速度结论

采用Asf框架开发业务, 代码量能节约 20% ~ 25%
假如项目开发需要4天 x 8小时, 能节约出整整1天 x 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 文档

http://www.box3.cn/phpasf/index.html
登录后复制

七、开始使用

7.1 使用内置工具生成空项目

/php-bin-path/php /tools/asf_project.php /to-path/project_name
登录后复制

7.1.1 目录结构

+ public
  | - index.php
+ config
  | - config.php
+ library
+ modules
    | - Bootstrap.php
    | - Constants.php
  + api
    |+ services
       |- Index.php  // Default service
    |+ logics
    |+ daos
登录后复制

7.1.2 config/config.php

<?php
$configs = array(
    &#39;asf&#39; => array(
        'root_path' => realpath(dirname(__FILE__)),
    )
);

return $configs;
登录后复制

7.1.3 public/index.php

<?php
define(&#39;APP_PATH&#39;, dirname(__DIR__));

$app = new Asf_Application(APP_PATH . &#39;/config/config.php&#39;);
$app->run();
登录后复制

7.1.4 Default service

<?php
class IndexService
{
    public function indexAction()
    {
        return 'Hello World';
    }
}
登录后复制

八、在Nginx/Apache/Lighttpd中运行

http://www.your-domain.com
登录后复制

8.1 输出结果

{
    "errno": 0,
    "data": "Hello World"
}
登录后复制

九、License

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

Asf PHP 开发之配置信息常驻系统内存

以上是PHP扩展框架 Asf 的介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板