入口文件
可以多个 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
请求,并进行必要的业务处理。
事件
此外数据库操作和模型操作在完成数据操作的回调机制,也使用了事件机制。
助手函数
系统为一些常用的操作提供了助手函数支持。