Yaf 框架學習

Yaf 是什麼

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

相比於通常的PHP框架,它更快,快到被譽爲最快的PHP開發框架。web

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

注:bootstrap

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

Yaf 的優勢

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

以上內容引用鳥哥的官方介紹,固然,Yaf不是一個Full-Stack的web框架,它沒有對數據庫操做的封裝,更不用說ORM;不少人認爲這是Yaf的不足,但我認爲這又是Yaf的優勢,這表明着一種精神,就是追求簡單,追求高效,追求」簡單可依賴「, 因此Yaf專一於實現最核心的功能,提供最穩定的實現。緩存

儘管Yaf的功能有限,但Yaf是可擴展的!它提供的插件機制,能夠和其它類庫整合在一塊兒。Yaf很是適合基於Yaf再擴展一套適合本身的業務層框架。總之Yaf很是適合互聯網產品的開發。app

流程圖

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

使用 Bootstrap

Bootstrap, 也叫作引導程序. 它是Yaf提供的一個全局配置的入口, 在Bootstrap中, 你能夠作不少全局自定義的工做.性能

注:url

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

index.php文件:spa

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

路由協議

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

本文做者: 荒古
本文連接: https://haxianhe.com/2019/07/... 版權聲明: 本博客全部文章除特別聲明外,均採用 CC BY-NC-SA 3.0 許可協議。轉載請註明出處!
相關文章
相關標籤/搜索