服务端相关 / ThinkPHP 简介

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)和文件名保持一致,统一采用驼峰法命名(首字母大写);
  • 类的命名采用驼峰法(首字母大写),例如 UserUserType
  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip
  • 方法的命名使用驼峰法(首字母小写),例如 getUserName
  • 属性的命名使用驼峰法(首字母小写),例如 tableNameinstance
  • 特例:以双下划线 __ 打头的函数或方法作为魔术方法,例如 __call__autoload
  • 常量以大写字母和下划线命名,例如 APP_PATH
  • 配置参数以小写字母和下划线命名,例如 url_route_onurl_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 基础知识。