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');
posted @ 2020-12-23 16:07  wing1377  阅读(734)  评论(0编辑  收藏  举报