如何快速上手百度微博都在用的Web框架Yaf?

1. 背景

以前在面试新浪微博的时候,被问起一个问题,你会Yaf吗?这一问直接把我问懵圈了,php

后来面试结束以后,去特意了解一下,发现很多国内公司都在使用,很多知名大厂都有普遍应用,其中包括腾讯,百度,新浪微博等.html

(若是想进腾讯百度微博这类国内较为知名的公司,掌握Yaf将是个不错的加分项~)git

可是因为Yaf(Yet Another Framework)是采用C语言 + Zend API编写,阅读起来着实费力,因而就萌生了翻译的念头.github

2. 关于Yaf

Yaf我很少作介绍,一局话总结起来就是用C写的PHP Web高性能框架,有兴趣的同窗能够自行先了了解一下(鸟哥的Yaf说明)面试

咱们先来整理一下在用Yaf进行开发时,通常都会遇到几个常见的问题.bash

  1. 开发黑盒.在coding阶段,咱们的IDE没法对Yaf相关函数进行补齐或者提示,开发流程处于一个黑盒下.
  2. 文档不全.对Yaf底层实现原理不甚了解,遇到问题一般只能去看零零碎碎的文档,若是文档也没法解决本身的问题,就显得很是一筹莫展,开发体验很糟糕.
  3. 源码阅读成本高.部分同窗想经过阅读源码,完全搞懂Yaf底层实现原理,可是因为Yaf是由C写的,以及源码实现里充斥着大量让人眼花缭乱的Zend API,对于大部分同窗来讲阅读成本相对较高.

IDE没法识别Yaf函数

3. 关于YAFPHP

3.1 简介

项目地址 : https://github.com/yinggaozhen/yaf-phpapp

Yaf-PHP采用原生PHP对Yaf源码进行了逻辑重写,最大程度还原其相关实现逻辑.框架

因为采用了原生PHP重写,可达到抹平阅读能力,下降阅读成本的目的.在日常开发时,也能够做为IDE Helper进行引入,加快开发效率.函数

3.2 最终效果

废话很少说,咱们先直接看最终效果图性能

IDE识别

方法识别

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~ 比心~

相关文章
相关标签/搜索