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

應果真發表於2019-05-26

1. 背景

之前在面試新浪微博的時候,被問起一個問題,你會Yaf嗎?這一問直接把我問懵圈了,

後來面試結束之後,去特地瞭解一下,發現不少國內公司都在使用,不少知名大廠都有廣泛應用,其中包括騰訊,百度,新浪微博等.

(如果想進騰訊百度微博這類國內較為知名的公司,掌握Yaf將是個不錯的加分項~)

但是由於Yaf(Yet Another Framework)是採用C語言 + Zend API編寫,閱讀起來著實費力,於是就萌生了翻譯的念頭.

2. 關於Yaf

Yaf我不多做介紹,一局話總結起來就是用C寫的PHP Web高效能框架,有興趣的同學可以自行先了瞭解一下(鳥哥的Yaf說明)

我們先來整理一下在用Yaf進行開發時,一般都會遇到幾個常見的問題.

  1. 開發黑盒.在coding階段,我們的IDE無法對Yaf相關函式進行補齊或者提示,開發流程處於一個黑盒下.
  2. 文件不全.對Yaf底層實現原理不甚瞭解,遇到問題通常只能去看零零碎碎的文件,如果文件也無法解決自己的問題,就顯得非常束手無策,開發體驗很糟糕.
  3. 原始碼閱讀成本高.部分同學想通過閱讀原始碼,徹底搞懂Yaf底層實現原理,但是由於Yaf是由C寫的,以及原始碼實現裡充斥著大量讓人眼花繚亂的Zend API,對於大部分同學來說閱讀成本相對較高.

IDE無法識別Yaf函式

3. 關於YAFPHP

3.1 簡介

專案地址 : github.com/yinggaozhen…

Yaf-PHP採用原生PHP對Yaf原始碼進行了邏輯重寫,最大程度還原其相關實現邏輯.

由於採用了原生PHP重寫,可達到抹平閱讀能力,降低閱讀成本的目的.在平常開發時,也可以作為IDE Helper進行引入,加快開發效率.

3.2 最終效果

廢話不多說,我們先直接看最終效果圖

IDE識別

方法識別

3.3 安裝

> git clone https://github.com/yinggaozhen/yaf-php-doc.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 小結

傳送門 : github.com/yinggaozhen…

這個專案斷斷續續用了業餘開發了將近有小半年了,目前仍在開發中,如果的大家有什麼建議或者意見,可以在直接issue提給我,或者私信給我~

最後的最後,如果你覺得專案還不錯,別忘記star/fork~ 比心~

最後的最後,如果你覺得專案還不錯,別忘記star/fork~ 比心~

最後的最後,如果你覺得專案還不錯,別忘記star/fork~ 比心~

相關文章