ThinkPHP 簡介
1. ThinkPHP 介紹
ThinkPHP 是一個免費開源的,快速、簡單的面向對象的輕量級 PHP 開發框架,是為了敏捷 WEB 應用開發和簡化企業應用開發而誕生的。
ThinkPHP 從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡代碼的同時,更注重易用性。遵循 Apache2 開源許可協議發布,意味著你可以免費使用 ThinkPHP,甚至允許把你基于 ThinkPHP 開發的應用開源或商業產品發布/銷售。
2. 為什么要學習 ThinkPHP?
對于剛開始學習 PHP 的初級程序員來說,把基礎的 PHP 知識掌握之后,就需要進階到框架層面的知識了。ThinkPHP 框架上手容易,學習資料豐富,對新手朋友來說非常友好。
ThinkPHP 采用 MVC 思想開發的,它的主要活躍社區在國內,免費開源,其配置開發相對容易、迅捷,非常適合新手的 PHP 框架。ThinkPHP 是一個輕量級的開發框架(比較小,僅提供一部分功能,可拓展很多第三方功能),學習 ThinkPHP 之后,可以快速發開一些中小型項目,并且能對 PHP 語言基礎有更深入的理解。
作為一個整體開發解決方案,ThinkPHP 能夠解決應用開發中的大多數需要,因為其自身包含了底層架構、兼容處理、基類庫、數據庫訪問層、模板引擎、緩存機制、插件機制、角色認證、表單處理等常用的組件,并且對于跨版本、跨平臺和跨數據庫移植都比較方便。
3. ThinkPHP 版本說明
本套教程學習將使用最新 ThinkPHP6.0 版本,課程將會以實際操作結合理論知識由淺入深進行學習。學習完本套教程之后你將會掌握 ThinkPHP 框架的基礎知識,并且對 ThinkPHP 框架有了更深入的理解。
最后會結合本套學習的基礎知識完成一個簡單的功能項目,它是基于現代主流開發思想而設計的全新架構版本,集簡單規范、優雅和性能于一身,是今后很長一段時間主要維護的版本。
4. ThinkPHP6.0 特點
- 從 ThinkPHP6.0 版本開始,必須通過
Composer
方式安裝和更新,無法通過Git
下載安裝; - ThinkPHP6.0 遵循
PSR-2
命名規范和PSR-4
自動加載規范; - 目錄使用小寫 + 下劃線;
- 類庫、函數文件統一以
.php
為后綴; - 類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致;
- 類(包含接口和
Trait
)文件采用駝峰法命名(首字母大寫),其它文件采用小寫 + 下劃線命名; - 類名(包括接口和
Trait
)和文件名保持一致,統一采用駝峰法命名(首字母大寫); - 類的命名采用駝峰法(首字母大寫),例如
User
、UserType
; - 函數的命名使用小寫字母和下劃線(小寫字母開頭)的方式,例如
get_client_ip
; - 方法的命名使用駝峰法(首字母小寫),例如
getUserName
; - 屬性的命名使用駝峰法(首字母小寫),例如
tableName
、instance
; - 特例:以雙下劃線
__
打頭的函數或方法作為魔術方法,例如__call
和__autoload
; - 常量以大寫字母和下劃線命名,例如
APP_PATH
; - 配置參數以小寫字母和下劃線命名,例如
url_route_on
和url_convert
; - 環境變量定義使用大寫字母和下劃線命名,例如
APP_DEBUG
; - 數據表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如
think_user
表和user_name
字段,不建議使用駝峰和中文作為數據表及字段命名。
5. ThinkPHP 與同類型框架對比
5.1 ThinkPHP 優缺點
ThinkPHP 優點:
- 易于上手,有豐富的中文文檔
- 學習成本低,社區活躍度高
- 框架的兼容性較強,完全支持 UTF8 等
- 適合用于中小項目的開發
- 引入 composer 包管理工具
- 借助成熟的 JAVA 思想
ThinkPHP 缺點:
- 上手容易,但是深入學習較難
- 相比其他框架目錄結構要差一點
5.2 Laravel 優缺點
Laravel 優點:
- Laravel 的設計思想是很先進的,非常適合應用各種開發模式 TDD、 DDD 和 BDD
- 支持 composer 包管理工具
- 集合了php 比較新的特性,以及各種各樣的設計模式,Ioc 容器,依賴注入等
- 全球大量活躍的用戶
Laravel 缺點:
- 基于組件式的框架,比較臃腫
- 英文社區,閱讀相關資料需具備一定英文基礎
5.3 Yii 優缺點
Yii 優點:
- 純 OOP
- 用于大規模 Web 應用
- 模型使用方便
- 開發速度快,運行速度也快。性能優異且功能豐富
- 使用命令行工具
- 支持 composer 包管理工具
Yii缺點:
- 文檔實例較少
- 英文太多,閱讀相關資料需具備一定專業英文基礎
- 要求 PHP 的面向對象編程思想要熟練
6. 學習基礎
學習本套教程之前您需要先了解以下幾點:
- 掌握 PHP7 基礎知識,ThinkPHP6.0 基于基于PHP7.1+開發,運用了很多PHP7的新特性;
- 在學習本套教程之前需要搭建好 LNMP 運行環境;
- 掌握基本的 Linux 命令操作;
- 掌握 MySQL 的基礎知識;
- 掌握面向對象編程(OOP)思想。
7. 小結
本節課介紹了 ThinkPHP 框架的應用范圍,介紹了 ThinkPHP 框架兩個版本的新特性,并對 ThinkPHP、Laravel、Yii 框架做了簡單的對比。
對于剛入門的 PHP 程序員來說,ThinkPHP 框架是最適合學習的一款 MVC 框架,但在學習本套教程之前需要掌握 PHP 基礎知識、Linux 基礎知識、MySQL 基礎知識。
Tips:想要學習更多 ThinkPHP 相關知識,可以點擊
Excel 導入學生信息
Excel 導出學生信息
后臺處理數據