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 許可協議。轉載請註明出處!