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 导出学生信息
后台处理数据