1. 主页
  2. 文档
  3. THINKPHP6(官方)
  4. 架构
  5. 架构总览

架构总览

入口文件

可以多个 index.php  admin.php  要开启多应用。

应用

每个应用,都在 app/ziyingyong    app/ziyingyong1

容器

think\Container

一船使用 think\app   或使用  app助手函数

可以使用对象标识。

 

系统服务

think\Service

可以在系统服务中注册一个对象到容器,或者对某些对象进行相关的依赖注入。

 

路由

路由规则 => 路由地址的映射关系

非强制使用路由       “控制器/操作”的方式访问也可以。

路由的作用远非URL规范这么简单,还可以实现验证、权限、参数绑定及响应设置等功能。

 

控制器

事实上,控制器是可以被跳过的,通过路由我们可以直接把请求调度到某个模型或者其他的类进行处理。

<?php
namespace app\controller;

class Index 
{
    public function index()
    {
        return 'hello,thinkphp!';
    }
} 建义继承 app\BaseController控制器类

操作

<?php
namespace app\controller;

class Index 
{
    public function index()
    {
        return 'index';
    }
    
    public function hello(string $name)
    {
        return 'Hello,'.$name;
    }
}

模型

业务逻辑和数据封装

并不一定要访问数据库

<?php
namespace app\model;

use think\Model;

class User extends Model
{
}

 

视图

控制器调用模型类后,返回的数据通过视图组装成不同格式的输出

 

模板引擎

新版不再内置think-template模板引擎,如果需要使用ThinkPHP官方模板引擎,需要单独安装think-view模板引擎驱动扩展。

 

驱动

系统很多的组件都采用驱动式设计,从而可以更灵活的扩展,驱动类的位置默认是放入核心类库目录下面

6.0版本的驱动采用Composer的方式安装和管理。

 

中间件

中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。

 

事件

此外数据库操作和模型操作在完成数据操作的回调机制,也使用了事件机制。

 

助手函数

系统为一些常用的操作提供了助手函数支持。

 

 

这篇文章对您有用吗?

我们要如何帮助您?