Yaf 框架學習

Yaf 是什麼

Yaf,全稱 Yet Another Framework,是一個C語言編寫的、基於PHP擴展開發的PHP框架。

相比於一般的PHP框架,它更快,快到被譽爲最快的PHP開發框架。

它提供了Bootstrap、路由、分發、視圖、插件功能。

注:

百度的odp框架,以及我們公司的PIE框架都是基於yaf開發的。

Yaf 的優點

  • 用C語言開發的PHP框架, 相比原生的PHP, 幾乎不會帶來額外的性能開銷.
  • 所有的框架類, 不需要編譯, 在PHP啓動的時候加載, 並常駐內存.
  • 更短的內存週轉週期, 提高內存利用率, 降低內存佔用率.
  • 靈巧的自動加載. 支持全局和局部兩種加載規則, 方便類庫共享.
  • 高性能的視圖引擎.
  • 高度靈活可擴展的框架, 支持自定義視圖引擎, 支持插件, 支持自定義路由等等.
  • 內建多種路由, 可以兼容目前常見的各種路由協議.
  • 強大而又高度靈活的配置文件支持. 並支持緩存配置文件, 避免複雜的配置結構帶來的性能損失.
  • 在框架本身,對危險的操作習慣做了禁止.
  • 更快的執行速度, 更少的內存佔用.

以上內容引用鳥哥的官方介紹,當然,Yaf不是一個Full-Stack的web框架,它沒有對數據庫操作的封裝,更不用說ORM;很多人認爲這是Yaf的不足,但我認爲這又是Yaf的優點,這代表着一種精神,就是追求簡單,追求高效,追求”簡單可依賴“, 所以Yaf專注於實現最核心的功能,提供最穩定的實現。

儘管Yaf的功能有限,但Yaf是可擴展的!它提供的插件機制,可以和其它類庫整合在一起。Yaf非常適合基於Yaf再擴展一套適合自己的業務層框架。總之Yaf非常適合互聯網產品的開發。

流程圖

Yaf提供了完善的API, 並支持Bootstrap和插件機制. 整體流程圖如下:

使用 Bootstrap

Bootstrap, 也叫做引導程序. 它是Yaf提供的一個全局配置的入口, 在Bootstrap中, 你可以做很多全局自定義的工作.

注:

在PIE框架中webroot目錄下各個模塊對應的文件裏的index.php起初始化作用,部分替代了yaf中Bootstrap文件的作用:

index.php文件:

$objApplication = Sf\Init::init();      
$objResponse = $objApplication->bootstrap()->run(); 

路由協議

PIE 框架中的路由協議採用默認協議,由請求url中指定要路由的app、controller、action名稱。

本文作者: 荒古
本文鏈接: https://haxianhe.com/2019/07/...
版權聲明: 本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 3.0 許可協議。轉載請註明出處!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章