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');
    
  • 相关阅读:
    Open source cryptocurrency exchange
    Salted Password Hashing
    95. Unique Binary Search Trees II
    714. Best Time to Buy and Sell Stock with Transaction Fee
    680. Valid Palindrome II
    Java compiler level does not match the version of the installed Java project facet.
    eclipse自动编译
    Exception in thread "main" java.lang.StackOverflowError(栈溢出)
    博客背景美化——动态雪花飘落
    java九九乘法表
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/14179203.html
Copyright © 2011-2022 走看看