ThinkPHP之框架概述
ThinkPHP6 概述
框架
-
概念
- 框架就是一些代码类、方法(函数)、变量、常量的集合
- 这些代码是功能结构性的代码(并非业务代码)
- 业务代码其实就是具体的一些模块的增删改查逻辑代码
- 使用框架开发项目,有便于代码重用、开发效率高、代码规范好、便于功能扩展等优点
-
PHP中的主流框架
Zend Framework
框架,PHP官方框架YII
框架,又叫易框架Symfony
框架Laravel
框架,市场使用较多Codelgniter
框架,简称CI框架ThinkPHP
框架,简称TP框架
-
MVC设计模式
M 模型model
处理业务数据,与数据库做交互V 视图view
显示html页面,用户能够看到并与之交互的页面C 控制器controller
接收请求,调用模型处理数据,调用视图显示页面- 整个网站应用,分为模型、视图、控制器三大部分组成
-
Smarty PHP模板引擎
- 它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法
- 用来将原本与HTML代码混杂在一起PHP代码逻辑分离
- 目的就是要使PHP程序员同前端人员分离
- 使程序员改变程序的逻辑内容不会影响到前端人员的页面设计
- 前端人员重新修改页面不会影响到程序的程序逻辑
-
Composer PHP依赖管理器
- 是PHP用来管理依赖(dependency)关系的工具
- 你可以在自己的项目中声明所依赖的外部工具库(libraries)
- Composer会帮你安装这些依赖的库文件
- Composer包含了一个依赖解析器,用来处理开发包之间复杂的依赖关系
- 它还包含了下载器、安装器等
- Packagist是Composer的默认的开发包仓库
安装
-
Composer使用国内镜像(阿里云)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
-
安装开发版
- WEB根目录下打开命令行,TP是应用根目录
composer create-project topthink/think=6.0.x-dev tp
-
安装稳定版
- WEB根目录下打开命令行,TP是应用根目录
composer create-project topthink/think tp
-
安装过稳定版更新
- 更新操作会删除thinkphp目录重新下载安装新版本,但不会影响app目录
- 因此不要在核心框架目录添加任何应用代码和类库
- 切换到你的应用根目录下面,更新命令
composer update topthink/framework
-
开启调试模式
- 应用默认是部署模式
- 在开发阶段,可以修改环境变量APP_DEBUG开启调试模式
- 上线部署后切换到部署模式
- 本地开发的时候可以在应用根目录下面定义.env文件
- 通过create-project安装后在根目录会自带一个.example.env文件
- 可以直接更名为.env文件并根据你的要求进行修改
-
测试运行
php think run -p 80
如果本地80端口没有被占用php think run
- 出现欢迎页!
配置虚拟主机
-
phpstudy配置
- 域名
- 端口号
- 根目录
-
apache配置参考
<VirtualHost *:80>
DocumentRoot "D:\phpStudy\WWW\tp\public"
ServerName www.tp.com
ServerAlias tp.com
<Directory "D:\phpStudy\WWW\tp\public">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
ThinkPHP框架结构
目录结构
www WEB部署目录(或者子目录)
├─app 应用目录
│ ├─controller 控制器目录
│ ├─model 模型目录
│ ├─ ... 更多类库目录
│ │
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件
│
├─config 配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置
│
├─view 视图目录
├─route 路由定义目录
│ ├─route.php 路由定义文件
│ └─ ...
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor Composer类库目录
├─.example.env 环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
配置文件
- 概念
- 根目录下的config目录下面就是所有的配置文件
- 每个配置文件对应不同的组件,可以增加自定义的配置文件
- 所有配置文件系统都会自动读取,不需要手动加载
- 如果存在子目录,可以通过Config类的load方法手动加载
// 加载config/extra/config.php 配置文件 读取到extra
\think\facade\Config::load('extra/config', 'extra');