ThinkPHP
目前大致有thinkphp3.2、thinkphp5.*、thinkphp6.*、thinkphp8.*这么几个版本,主要学习thinkphp6和8这两个最新的版本。
一、准备工作
1.编辑器选择
可选编辑器很多,但是依个人喜好跟习惯还是选择了vscode 和 sublime text 这两个编辑器。phpstorm也不错,弄不到激活码所以就放弃了。
2.PHP集成环境管理工具选择
集成环境包括:apache和nginx服务器、php各个版、 mysql版本、phpMyAdmin数据库以及FTP文件管理服务器。
集成环境工具有:
- phpstudy
- lamp
- xampp
- wampServer
还是依据个人喜好,选择了phpstudy集成环境工具。
3.安装Composer
Composer 是 PHP 的一个依赖管理工具。
在Packagist/Composer中国全量镜像 (pkg.xyz)上自行学习下载。
还有一个简便的方法就是在phpstudy中选择版本安装,我选择的就是这个。
在window系统安装安装composer前请务必先安装php,
4.thinkphp基础
1.4.1 开发规范
- 类名统一使用.php为后缀
- 目录使用小写➕下划线
- 每个类库文件都必须要有命名空间,且路径和文件名统一
- 统一采用驼峰命名法(首字母大写)
- 视图模版文件命名都采用小写+下划线
1.4.2 目录结构
目录结构有单应用模式和多应用模式。
- public/index.html 入口文件
- public/.htaccess 重写apache,隐藏index.php
- runtime 应用的运行目录
- extend 扩展类库目录
- vendor composer类库目录
- .env 环境变量文件
- composer.json composer配置文件
- think 命令行入口文件
5.thinkphp架构
- 入口文件
- 模块
- 命名空间
- 容器和依赖注入
- Facade
- 中间件
- 钩子和行为
- url
二、创建、运行项目
// 1.安装最新稳定版本:
composer create-project topthink\framework tp
// 更新框架:
composer update topthink\framework
// 安装最新版本:
composer create-project topthink\think=8.0.x-dev tp
// 2.安装多应用模式:
composer require topthink\think-multi-app
// 3.安装模版引擎:
composer require topthink\think-view
// 4.开启调试模式:
// 在根目录.example.env文件复制一份修改成.env
// 在.env中把APP_DEBUG值改成true:
APP_DEBUG = true
// 5.测试运行:
php think run
http://localhost:8000/
// 6.安装验证码
composer require topthink\think-captcha
// 7.安装调试
composer require topthink/think-trace
三、视图 View
四、控制器 Controller
五、模型 Model
六、路由 Router
八、验证 Validate
九、响应 Response
十、请求 Request
十一、错误和日志
十二、API
十三、容器 Container
十四、中间件 MiddleWare
十五、门面 Facade
十六、服务 Service
十七、事件 Event
十八、数据库 Database
十九、命令
// 启动内置服务
php think run
// 查看版本号
php think sersion
// 快速生成模块或者应用目录
php think build demo
// 快速生成控制器(默认会生成资源型控制器)
php think make:controller index@user
// 快速会生成一个空的控制器
php think make:controller index@user --plain
// 快速会生成一个接口控制器
php think make:controller index@user --api
// 快速生成模型
php think make:model index@user
// 快速生成验证器
php think make:validate index@user
// 快速生成验证器
php think make:middleware Auth
// 快速生成一个带后缀的类库
php think make:controller Article@AddController
// 清除缓存(会删除runtime目录内的一切内容,并且保留一个空目录)
php think clear
// 清除缓存,不会保存目录
php think clear --dir
// 清除日志目录
php think clear --log
// 清除缓存,会清除缓存
php think clear --cache
// 清除日志目录并删除空目录
php think clear --log --dir
// 显示详细的debug信息
php think runcmd -v
php think runcmd -vv
php think runcmd -vvv