## 概述
SpeedPHP是一款全功能的國產PHP框架應用系統,速度飛快,上手容易,是最適合初學者的PHP框架。SpeedPHP以“快速開發、快速學習、快速執行”為理念,帶你輕松進入PHP高手的行列。
## 理念
SpeedPHP框架從設計到應用一貫秉持以下三個理念:
**快速開發**
和原生PHP的對比,SpeedPHP框架提供的功能可以簡化非常多的操作,這是SpeedPHP框架理念的“快速開發”。尤其是在MVC架構和自帶模板引擎的幫助下,更能將日常的開發工作分工,協作,更有利于團隊開發的效率。
**快速學習**
SpeedPHP框架堅持:PHP框架是提高開發效率的工具,而非“高手的玩具”。因此,即使剛入門的PHPer,學習和使用PHP框架,也是非常有必要的。
從“快速學習”的理念出發:
SpeedPHP框架的代碼精煉,即使是初學者亦能看懂核心代碼。
編寫最容易理解的教程和制作最有參考價值的實例,讓PHP框架豐富而簡便的功能,迅速成為PHP開發者的助力。
SpeedPHP框架入門僅需要幾分鐘,完全進入開發也只需多個小時即可開始,極大節省使用者的學習成本,同時也為團隊節省培訓和人員銜接成本。
**快速執行**
SpeedPHP框架從實踐中總結而來,提供開發過程中常用的功能,同時盡可能地精簡核心,堅持“輕量級”的代碼架構,讓應用程序有著無與倫比的輕快高速。
## 特點
**簡單 · 快速**
核心代碼精煉簡單,更加精煉化的代碼,總行數不到500行,但實現了日常開發80%的功能。
**高效 · 實用**
從真實運行,并且上億訪問量的商業系統中取其精華而成,功能更貼合實際開發的需要,實際開發中能夠更好地提高團隊開發效率。
**易學 · 易用**
非常容易學習和輕松上手編程,節省學習成本,且教程眾多,讓初學者都能在最短的時間內學會和使用PHP框架。
## 新的版本
更快速,更易用,更科學
0. 支撐超大型php項目及極其豐富開發經驗沉淀的php框架。
新版框架是從已經運行多年的,支撐多個大型項目和上百個中大型項目的核心框架上,重寫而成。
1. 核心代碼不到500行,簡約易學但功能強大,速度飛快。
在500行的代碼里面,已經實現了舊版的大部分功能,包括MVC架構,路由等。核心文件也精簡到了一個文件里面,使得加載更快,更合理。
2. 易于使用的偽靜態路由規則,構造各種各樣的地址。
新的偽靜態功能是內置到框架內部的,可以很直觀地對URL構造,并且支持泛域名等URL地址的使用。
3. 大部分的約定配置,更專注于業務功能。
配置已經不再通過覆蓋配置的方式來作為默認值,并且新版配置極其少,僅有數據庫、rewrite、debug等必須的配置。
> 約定優于配置,這也是目前最優雅的設計方式。
4. 直接使用new語法代替spClass,讓代碼提示更智能。
解決spClass()函數不能在各種PHP的IDE里面提示類成員方法的問題,使用php自帶的autoload方式,按需加載,通過原生語法new來對類進行實例化,更統一更高效。
5. 適應PHP5.2以上版本的語法,調試模式打開STRICT語法要求,代碼更健壯。
新版從一開始設計就在5.6平臺(以及PHP7)上面進行開發,摒棄全部被php最嚴格模式(Strict Standards)提示Notice的語法,雖然并沒有什么太大的改變,但是看起來確實更好了呢。
6. 支持modules多應用開發架構。
由于多入口程序的長期影響,導致很多php框架都加入了modules模塊開發。那么sp框架也一樣加入modules的支持。
當然,我們還是建議在比較大型的架構開發中,分開多個應用而不是modules來進行開發會有更高的工作效率和更少的問題。
7. 增加BaseController父類,方便全局操作。
全局操作是新版比較亮點的功能,默認加入了控制器的中間父類BaseController,可以讓各種初始化,攔截模式,權限等都有了一個更合理的位置。
8. 新開發的模板引擎支持Smarty日常全部語法,還有布局、自動輸出等方便功能。
絕大部分開發過程中,我們用到Smarty引擎的功能只是Smarty的百分之一代碼量不到,并且Smarty越來越臃腫。所以我們開發了新的模板引擎,并且內置在框架內,僅僅120行的代碼,實現了日常開發全部用到的模板功能。
新的模板引擎在性能上,比Smarty高出非常之多,但還是十分好用的。
9. 默認支持MySQL多庫訪問、讀寫分離、分頁,按需連接使得數據庫更輕更快。
由于再次減少了數據庫操作的抽象,現在的sp框架數據庫操作僅有一層架構。更簡約的架構并加入了按需鏈接,數據庫操作方面有了更進一步的速度提升。
> 對比一下:市面上許多php框架數據庫ORM是三層(包括操作層、抽象層、驅動層)
> 而舊版的sp框架是兩層(包括操作層和驅動層)
> 最輕量級的新版sp框架是一層(僅有操作層)
10. 強安全策略,自動防止跨站腳本、SQL注入攻擊等。
在安全策略上,新版sp框架做的更為極致。比起舊版框架的“建議安全做法”,新版直接通過語法層面強制對安全進行保障。包括:
- 不再需要對數據庫參數進行escape的過濾,而是默認使用PDO的參數綁定模式進行過濾。
- 全部的數據庫操作,都會自定執行參數綁定模式。
- 模板默認輸出變量,均是轉碼過濾的。
> 舊版框架里面,可以說是“大部分是自動安全機制,其余小部分的只要遵循教程建議來做,就能保證安全”。
> 新版是“不按照安全的模式進行開發,就無法開發”的強制策略。
> 當然,對比其他許多漏洞百出的php框架來說,sp框架不管新版舊版都算是十分安全的了。
- 自述
- 一、入門教程
- 1. 開始使用SpeedPHP
- 2. Hello World
- 3. 理解MVC
- 4. 制作留言本
- 5. 數據操作及Ajax
- 二、框架概述
- 1. 特色
- 2. 版權及開源協議
- 3. 開發環境
- 4. 編碼版本
- 5. SAE平臺使用
- 三、開發指南
- 1. 開發流程
- 2. 架構及擴展
- 3. 程序目錄結構
- 4. 命名建議
- 5. 安全建議
- 6. 用戶自定義
- 7. 模塊modules
- 四、訪問交互
- 1. 表單提交及數據獲取
- 2. session/cookie的使用
- 3. 偽靜態及URL跳轉
- 4. 使用frameset
- 5. 模板引擎特性和使用方法
- 五、數據操作
- 1. 建立數據模型類
- 2. 數據操作教程
- 3. 分頁
- 4. SQL支持及關聯實現
- 5. 多數據庫、主從庫配置