乙個神奇的PHP框架 Phalcon 之初識

2022-02-26 12:50:44 字數 1727 閱讀 3710

前言

第一感受

花了些時間看了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 框架根...