ThinkPHP6认识(起步)

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

一、MVC

  • MVC 软件系统分为三个基本部分:业务模型(Model)、视图/用户界面(View)和控制器(Controller)
  • ThinkPHP 是一个典型的 MVC 架构

模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

控制器(Controller) - 负责转发请求,对请求进行处理。

视图(View) - 界面设计人员进行图形界面设计。

二、单应用模式访问

index.php 入口文件
index 控制器
index 操作

├─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                 命令行入口文件

三、安装视图

  • 视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展

composer require topthink/think-view

  • 视图目录可以在根目录,也可以在app应用目录

四、模版渲染

  • 要使用View,必须先引入 think\facade\View 门面类
  • fetch 方法渲染页面

controller代码

<?php
namespace app\controller;
use think\facade\View;
class Index{
    public function index(){
        return View::fetch();
    }
}

view代码

www.XXX.com/index.php/index(对应的是view下面的文件夹名)/index(对应的是index文件夹里面的文件名)

controller代码

namespace app\controller;
use think\facade\View;
class Index{
    public function index(){
        // 模板变量赋值
        View::assign('name','欧阳克');
        View::assign('email','oyk@php.cn');
        // 或者批量赋值(数组)
        View::assign([
            'name'  => '欧阳克',
            'email' => 'oyk@php.cn'
        ]);
        // 模板输出
        return View::fetch();
    }
}

view代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ThinkPHP6</title>
</head>
<body>
    姓名:{$name}
    <br>
    邮箱:{$email}
</body>
</html>
  • 备:Index类对应view下面的目录
  • 备:index方法对应view下面的目录里的静态文件

    五、模版变量

  • assign 方法赋值属于全局变量赋值
  • 模版输出 {$name}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值