zoukankan      html  css  js  c++  java
  • 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:phpStudyWWW	ppublic"
        ServerName www.tp.com
        ServerAlias tp.com
      	<Directory "D:phpStudyWWW	ppublic">
          	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
    	hinkfacadeConfig::load('extra/config', 'extra');
    
  • 相关阅读:
    vue-cli3中热更新失效,修改完代码之后需要手动刷新页面才能看到改变,解决办法
    数组中的数据项包含逗号则需在首尾拼接中括号[]来区分每一项,最后数组转为字符串,以及数据恢复
    组件之间的拖拽
    工作心得
    Vue重点知识
    vue-router路由
    利用注解和反射,将Bean枚举字段的值填入相应的字段中,并转化为fastjson返回前台
    db2 获取自增主键的方法
    mybatis注解@selectKey对于db2数据库的使用
    @InsertProvider 根据bean属性,自动生成插入sql语句
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/14179203.html
Copyright © 2011-2022 走看看