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