Yaf API 开发环境搭建

By | 2017年6月10日 | 阅读:1,021 次

前言
签了实习之后,大致知道了我在公司的项目以 API 开发任务为主,先前做过 API 开发,但只是停留在功能实现层面上,现在课程大多结课了,于是买了几本关于 Restful 和 API 开发的几本书深入的学习下,今天先把 API 开发环境搭建好,let’s do it


  1. 为什么选择 Yaf 做 API
  2. 搭建 Yaf 开发环境

1. 为什么选择 Yaf 写 API

我先前在其他项目中用过 thinkPHP 做过 API 接口,把框架提供的 ajaxReturn 方法后,将响应数据处理成 JSON 返回给客户端即可;但是 thinkPHP 整体的路由不是很优雅,把路由映射到 MVC 的 Controller 层,这种设计比起 laravel…算了没法比233,用 laravel 的话依赖太多了,整体上属于重量级的框架,有个衍生出来的 Lumen 专门用于做 API,官方文档只有英文暂时,看起来有点慢;

Yaf 是 鸟哥开发的框架,整体上很轻量级(看目录核心源码文件很少),底层是 C 实现的(源码包全是 .c .h),相比其他运行时还需要编译PHP的框架 ,速度会有所提升;看了下鸟哥写的 Yaf 文档 还是比较详细的,在项目源码里边还有相应的中文注释,会用 laravel 的话上手会比较容易,会 C 还能看看框架源码,学习下背后的设计思想;抱着一举两得的心态,开始了 yaf 开发 API 的学习233


2. 搭建 Yaf 开发环境

2.1 开发环境

  • Homestead 虚拟机( ubuntu + nginx + php 7.1 + mysql )
    laravel 官方出的虚拟机,php 版本较高,配合最新的 Yaf 正好合适…不过坑也蛮多的
  • IDE PHPStrom 智能提示插件:github.com/xudianyang/yaf.auto.complete

2.2 安装 Yaf 扩展

  • 下载源码包
  • 编译获取 yaf 扩展:作为 pecl 的一员,可以以 extension 的方式添加到 php 中

  • 将扩展添加到 PHP 并重启 php-fpm

  • 这里遇到了一个 homestead 的坑(是我太菜了)

    在命令行中查看配置文件位置 php --ini,输出如下图,我就只在 Loaded Configuration File: /etc/php/7.1/cli/php.ini中新增了扩展,报错 Class 'Yaf_Application' not found

    折腾半天在 phpinfo() 里边才发现真正加载的配置文件是 /etc/php/7.1/fpm/php.ini,这才是 nginx 会加载的服务器端php配置文件,修改就生效了;

  • 配置成功


  • 新建的 APIDemos 项目,目录结构如下

后记
安装好了 yaf 的扩展以后,打开源码可以看到目录结构真的很简单,相比 thinkPHP 的 think 库、laravel 的各种 composer 底层依赖,这个确实很精简,真是迫不及待想学了哈哈哈,下一篇文章开启 API 开发之旅233

发表评论

电子邮件地址不会被公开。