ThinkPHP6.0开发网站简明教程

文章目录

    • (一)相关概念
      • 1、MVC模式:
      • 2、MVVM模式
      • 3、TP6.0文件结构
    • (二)TP6部署多应用模式
    • (三)开启调试模式
    • (四)连接数据库
    • (五)TP6.0视图
    • (六)开发中遇到的问题和解决办法

(一)相关概念

ThinkPHP支持传统的MVC(Model-View-Controller)模式以及流行的MVVM(Model-View-ViewModel)模式的应用开发。

1、MVC模式:

ThinkPHP6.0开发网站简明教程_第1张图片
模型-视图-控制器(MVC)是一种设计创建 Web 应用程序的模式。

  • Model(模型)是处理数据逻辑的部分;程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
  • View(视图)界面设计人员进行图形界面设计;通常是依据模型数据而创建的。
  • Controller(控制器)是处理用户交互的部分;通常控制器负责从视图读取数据,控制用户输入(写入数据库记录等),并向模型发送数据。

MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

2、MVVM模式

Model-View-ViewModel,本质是MVC 的改进版。MVVM 将MVC中View 的状态和行为抽象化,把视图 UI 和业务逻辑分开。

  • 模型
  • 视图
  • 视图模型
  • 绑定器

ThinkPHP6.0开发网站简明教程_第2张图片
MVC模式在一定程度上依赖于另外一项关键技术:模板引擎,如常见的jsp页面和php页面;
其实模板引擎技术并不复杂,而是繁琐,基本原理就是前端HTML中写关键字符以期承载数据,然后再交由后台将前端HTML代码中的关键字符进行匹配,替换为真实数据;
模板引擎的关键点并不是技术,而是在一定程度上解脱了后台程序员,他们不再写页面和JS脚本了,这些工作大部分交给专业的前端工程师来完成,后台只需要在页面完成后读取并交由模板引擎进行二次处理即可;这基本就实现了代码工程的分离;
而且MVC的设计模式也是相对灵活的,对于小型技术团队来说,C层与M层的分离其实并不彻底,逻辑与数据之间的处理大部分情况下依然交与后台完成,逻辑层与数据层仅仅实现了代码逻辑上的分离,并没有实现工程上的分离。

3、TP6.0文件结构

public目录为唯一的web可访问目录,入口文件默认为index.php
ThinkPHP6.0开发网站简明教程_第3张图片
在这里插入图片描述

(二)TP6部署多应用模式

(1)在app文件夹下,新建两个文件夹:index(前台)和admin(后台),把controller文件夹复制分别放入两个文件夹中。

(2)进入index/controller/index.php,修改路径:(admin下同理)
ThinkPHP6.0开发网站简明教程_第4张图片

(3)打开文件夹 config->app.php:

插入一行代码:

    'auto_multi_app'   => true,//自动多应用模式

修改一行代码:

    // 显示错误信息
    'show_error_msg'   => true,

(4)安装多应用扩展:
ThinkPHP6.0开发网站简明教程_第5张图片
测试:发现前后的错误原因变了
ThinkPHP6.0开发网站简明教程_第6张图片

(5)网址访问的正确路径是:http://localhost/tp/public/index.php/index 以及admin
在这里插入图片描述

解释:
public是框架的控制,总入口文件默认是public下的index.php,你要告诉public/index.php你要跳转到哪,然后它会在app下找文件夹和控制器,/public/index.php/admin就是找admin文件夹,然后默认找admin/controller下的第二入口文件index.php,执行了admin下的index后,由这个index来决定下一个跳转向哪里(view页面或者直接return输出再或者别的操作)

附:
辨识化命名:修改文件名和类名
ThinkPHP6.0开发网站简明教程_第7张图片
然后修改访问地址:将分别访问到两个方法
ThinkPHP6.0开发网站简明教程_第8张图片
解释:
localhost/tp相当于http://www…com域名,/public/index.php为默认入口。
/admin/admin/index则为该网站下的具体路径:admin模块下,admin控制器下,index方法(操作,index可略,其他必写)。
ThinkPHP6.0开发网站简明教程_第9张图片

(三)开启调试模式

在开发阶段建议开启框架的调试模式,虽然牺牲一些执行效率,但是大大提高了排错的能力。等项目部署到生产环境时,再关闭调试模式即可。
(1)在tp根目录下有一个环境配置文件 .example.env,我们删除前面的 . example,再刷新网页:

ThinkPHP6.0开发网站简明教程_第10张图片
此时,网页报错显示详细信息,且右下角为Trace调试图标,说明调试成功开启。
(2)查看.env文件,打开调试的环境变量:true / false
ThinkPHP6.0开发网站简明教程_第11张图片

(四)连接数据库

(1)修改数据库文件:
打开.env文件修改DATABASE、USERNAME、PASSWORD。
打开config/database文件修改同上,以及
// 默认使用的数据库连接配置: 'default' => env('database.driver', 'mysql'),修改 ‘database.driver’ 为’database.type’ (意为读取env里的TYPE)

注:.env数据库为本地配置,config/database数据库配置为实际工程,我们做本地配置,优先级是.env先,当.env信息为空才读取database文件信息。

(2)app/controller/ 创建一个DataTest.php,访问 http://localhost/tp/public/index.php/datatest


namespace app\controller;
use think\facade\Db;

class DataTest
{
    public function index()
    {
        $user = Db::table('wp_options')->select();//()表名
        return json($user);//火狐浏览器看到json()列表效果
    }
}

ThinkPHP6.0开发网站简明教程_第12张图片
创建第二个数据库:
(1)打开.env文件增加一行DATABASE2 = 库名(如果用户名什么变了当然也要改)
(2)打开config/database文件,增加数据库2模块:
ThinkPHP6.0开发网站简明教程_第13张图片(3)在DataTest.php添加以下代码:


namespace app\controller;
use think\facade\Db;
class DataTest
{
    public function index()//默认选中的http://localhost/tp/public/index.php/datatest/,可有可无index
    {
        $user = Db::connect('mysql')->table('basedata')->select();//table()表名
        return json($user);//firefox看到json()列表效果
    }

    public function userdemo()//第二个数据库:访问http://localhost/tp/public/index.php/datatest/userdemo必加
    {
        $user = Db::connect('userdemo')->table('usertest')->select();//connect()对应database.php的头 table()表名
        return json($user);
    }
}

(五)TP6.0视图

模板引擎支持普通标签和XML标签方式两种标签定义,分别用于不同的目的.
在这里插入图片描述

开发规范
ThinkPHP6.0开发网站简明教程_第14张图片

创建模板文件https://www.bilibili.com/video/BV1Wt411M7qe?p=5

路由就是名词 访问地址,动词“路由到”-“地址转到-”

(六)开发中遇到的问题和解决办法

(1)下载插件
ThinkPHP6.0开发网站简明教程_第15张图片

ThinkPHP6.0开发网站简明教程_第16张图片

(2)浏览器的开发者工具看不到console.log

谷歌和火狐不同,火狐f12查看console没有看到链接错误的信息是因为没有打开。

ThinkPHP6.0开发网站简明教程_第17张图片

(3)在.php脚本中引用其他脚本
在这里插入图片描述
ThinkPHP6.0开发网站简明教程_第18张图片
ThinkPHP6.0开发网站简明教程_第19张图片
ThinkPHP6.0开发网站简明教程_第20张图片

最终我应用的:
ThinkPHP6.0开发网站简明教程_第21张图片
ThinkPHP6.0开发网站简明教程_第22张图片

你可能感兴趣的:(后台,/,网站搭建,/,PHP,系统/环境配置/软件安装)