前言
第一感受
花了些時間看了phalcon 框架的文件,對這個框架有了整體的一些認識,說下我的一些感受。
1 主體**c語言編寫,執行效率肯定比其它純php編寫的框架要高;
2 框架功能大而全,全棧式框架,web開發相關的元件都有,元件之間低耦合;
3 物件容器以及依賴注入的神奇使用,簡化**編寫;
4 很多元件使用介面卡模式,方便自定義開發擴充套件,只要實現介面卡介面即可;
5 安全可靠,對web常見漏洞提供了相應解決方案,這對團隊開發非常有幫助,想想最近一些脫庫事件,還是有些後怕,開發擁有安全意識非常重要;
6 phql類sql資料庫查詢語言,查詢資料非常靈活,感覺這個沒啥用;
7 這個框架很靈活,沒有固定的正規化,開發時可以任意組織**;
8 提供開發腳手架,枯燥重複的操作有相應的指令碼代勞,是我懶人喜愛的:)
9 命令列執行任務控制台
10 事件管理器hook機制,這個用起來肯定很爽:)
11 基於角色簡單許可權管理機制,對於資源許可權管理不複雜的應用絕對足夠了
框架架構
單入口
通過乙個入口處理客戶端響應,這個需要設定web伺服器將所有動態指令碼請求**到單一入口上
路由以及分發器
需要設定路由規則,以及路由對應的處理控制器和方法,找到匹配路由之後,通過分發器**執行,有乙個路由元件和分發器元件實現這2個功能
控制器
用於對客戶端請求進行響應,用於連線模型和檢視對膠水
模型
業務邏輯層,資料的crud操作相關,模型之間的關聯關係管理
快取層
使用介面卡模式,後端支援主流的快取服務,比如memache,redis ,mongodb 等,如果需要使用其它服務,可以自己擴充套件,實現介面卡介面就行了
檢視
客戶端檢視渲染,層次結構,檢視繼承,支援內建模版以及自定義模版引擎
多語言
支援多語言,這個對公司業務主要是在海外很有幫助,話說自己實現也不難,也就一語言包而已,使用php陣列就可以了:)
優勢
1 功能大而全
2 執行速度快
劣勢
1 學習成本高
2 需要安裝php擴充套件
3 相比純php框架維護成本大
適合場景
1 需要快速開發且對效能要求比較高
依賴注入
依賴的服務通過注入的方式獲得訪問,這個是phalcon 框架的基礎,通過依賴注入,各元件之間可以做到低耦合,又能獲得其它服務的能力。依賴注入比較繞,初次了解可能會搞的暈頭轉向,熟悉了之後就好了。phalcon 文件對依賴注入說的很生動很具體,從問題開始入手,一步一步引導如何實現依賴注入。依賴注入實現原理:建立乙個物件容器,註冊服務到物件容器,需要訪問服務的例項通過物件容器訪問服務,不同的語言實現方式不一樣。
後記
參考資料
phalcon官方文件
phalcon官方**
phalcon**庫位址
乙個神奇的PHP框架 Phalcon 之編譯安裝
前言 centos7下公升級php到最新版本以及編譯安裝phalcon框架,看相關文件無數遍,自己嘗試編譯安裝之後才理解的更深,編譯步驟以及碰到的問題做個簡單的記錄 php 7.0.11編譯安裝 2.依賴開發包 yum install gcc gcc c libjpeg libjpeg devel ...
乙個超級簡單的php框架
最近自己寫了乙個php框架,github位址如下 blakefez php framework command 該目錄用於存放cli模式下的command類 controller 該目錄用於存放cgi模式下的controller類 frame 該目錄用於存放框架的核心 blakefez.php 這是...
製作乙個簡易的PHP框架
crom是結合當前各種框架和各類教程,自己整合的開發框架,框架能進行簡易的web開發。gitlab原始碼鏈結 ctrl model views core common config libimooc.php log storage vendor composer.json index.php 框架根...