1. 背景
之前在面试新浪微博的时候,被问起一个问题,你会Yaf
吗?这一问直接把我问懵圈了,
后来面试结束之后,去特地了解一下,发现不少国内公司都在使用,不少知名大厂都有广泛应用,其中包括腾讯,百度,新浪微博等.
(如果想进腾讯百度微博这类国内较为知名的公司,掌握Yaf将是个不错的加分项~)
但是由于Yaf(Yet Another Framework)是采用C语言 + Zend API编写,阅读起来着实费力,于是就萌生了翻译
的念头.
2. 关于Yaf
Yaf我不多做介绍,一局话总结起来就是用C写的PHP Web高性能框架
,有兴趣的同学可以自行先了了解一下(鸟哥的Yaf说明)
我们先来整理一下在用Yaf进行开发时,一般都会遇到几个常见的问题.
- 开发黑盒.在coding阶段,我们的IDE无法对Yaf相关函数进行补齐或者提示,开发流程处于一个黑盒下.
- 文档不全.对Yaf底层实现原理不甚了解,遇到问题通常只能去看零零碎碎的文档,如果文档也无法解决自己的问题,就显得非常束手无策,开发体验很糟糕.
- 源码阅读成本高.部分同学想通过阅读源码,彻底搞懂Yaf底层实现原理,但是由于Yaf是由C写的,以及源码实现里充斥着大量让人眼花缭乱的Zend API,对于大部分同学来说阅读成本相对较高.
3. 关于YAFPHP
3.1 简介
项目地址 : https://github.com/yinggaozhen/yaf-php
Yaf-PHP采用原生PHP对Yaf源码进行了逻辑重写,最大程度还原其相关实现逻辑.
由于采用了原生PHP重写,可达到抹平阅读能力,降低阅读成本的目的.在平常开发时,也可以作为IDE Helper进行引入,加快开发效率.
3.2 最终效果
废话不多说,我们先直接看最终效果图
3.3 安装
> git clone https://github.com/yinggaozhen/yaf-php.git
3.4 快速使用
3.4.1 在PhpStorm引入
两种实现方法
左侧导航栏 `External Libraries` -> `Configure PHP Include Path` -> 添加`Yaf-PHP`文件路径 -> `apply`
菜单 `File` -> `Setting` -> `PHP` -> 添加`Yaf-PHP`文件路径 -> `apply`
3.4.2 在NetBeans引入
右击你的项目 -> `Properties` -> `PHP Include Path` -> `Add Folder..` -> 添加`Yaf-PHP`文件路径 -> `open`
3.5 目前支持/完成的功能
- 支持IDE对Yaf相关的识别/自动填充
- 同时支持PSR-0以及PSR-4引入方式
- 所有Yaf公有方法均以
@link
形式添加官方文档链接
3.6 正在开发的功能
- 目前以通过官方源码80%的测试用例,虽然目前仍在翻译中
- 支持指定版本下的调试功能
4 小结
传送门 : https://github.com/yinggaozhe...
这个项目断断续续用了业余开发了将近有小半年了,目前仍在开发中,如果的大家有什么建议或者意见,可以在直接issue提给我,或者私信给我~
最后的最后,如果你觉得项目还不错,别忘记star/fork~ 比心~
最后的最后,如果你觉得项目还不错,别忘记star/fork~ 比心~
最后的最后,如果你觉得项目还不错,别忘记star/fork~ 比心~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。