【ThinkPHP框架教程·Part-06】基础、空、多级控制器

简介: 本文介绍了ThinkPHP框架中三种控制器的使用方法:基础控制器、空控制器和多级控制器。基础控制器提供了验证功能并注入了`think\App`和`think\Request`对象,推荐继承以获得更多方法。空控制器用于单应用模式下的错误提醒,定义一个Error类即可实现。多级控制器则通过在controller目录下创建子目录来实现分组管理,例如建立group目录并在其中创建Blog.php控制器,访问路径为`http://localhost:8000/group.blog`及其方法。

本章节我们来了解一下用于继承的基础控制器、空控制器和多级控制器的使用方法。

一、基础控制器

一般来说,创建控制器后,推荐继承基础控制器来获得更多的方法。

基础控制器仅仅提供了控制器验证功能,并注入了think\Appthink\Request

这两个对象后面会有章节详细讲解,下面我们继承并简单使用一下。

<?php
namespace app\controller;
use app\BaseController;
class Test extends BaseController
{
    public function index()
    {
        return '当前方法名:'.$this->request->action().',基础控制器的实际路径:'.$this->app->getBasePath();
    }
}


二、空控制器

在单应用模式下,我们可以给项目定义一个 Error 控制器类,来提醒错误;

<?php
namespace app\controller;
class Error
{
    public function index()
    {
        return '当前控制器不存在!';
    }
}


三、多级控制器

所谓多级控制器,就是在控制器 controller 目录下再建立目录并创建控制器,相当于控制器下的分组。

我们在 controller 目录下建立 group 目录,并创建 Blog.php 控制器。

而此时,我们需要访问的地址为:http://localhost:8000/group.blog

访问read方法:http://localhost:8000/group.blog/read


相关文章
|
11月前
|
存储 测试技术 项目管理
【北京大学 软件工程】三、软件需求
本文介绍了软件需求工程的基础概念和流程。首先定义了需求及其获取,强调需求是描述系统功能、性能等方面的要求,并需具备必要性、无歧义性、可测性、可跟踪性和可测量性五大基本性质。接着阐述了需求的分类,包括功能、性能、外部接口、设计约束和质量属性五类,并详细说明了各类需求的具体内容及示例。此外,还探讨了需求发现的技术,并分析了每种技术的应用场景与优缺点。最后,文章解释了需求规约(SRS)的概念、格式和作用,指出它是软件开发组织与用户之间的技术合同,用于指导项目管理、产品设计、测试计划和用户手册的编写。需求规约不应包含设计细节或项目规划信息,而是专注于明确系统的功能性与非功能性要求。
【北京大学 软件工程】三、软件需求
|
11月前
|
中间件 Linux PHP
【ThinkPHP框架教程·Part-01】ThinkPHP6.x框架安装教程
ThinkPHP6.0 是一款免费开源、轻量级且快速的 PHP 框架,适用于 PHP 7.2.5+ 环境。本教程采用稳定版 TP6.0,支持多应用、强类型、PSR 规范等新特性。安装步骤包括:1) 安装 Composer;2) 切换国内镜像加速下载;3) 使用 `composer create-project topthink/think tp6` 安装稳定版;4) 运行 `php think run` 测试。详情及更多内容请参考 [官方手册](https://www.kancloud.cn/manual/thinkphp6_0/1037479)。
【ThinkPHP框架教程·Part-01】ThinkPHP6.x框架安装教程
|
11月前
|
数据安全/隐私保护
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
本文详细总结了思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细),看这一篇就够啦~
37213 6
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
|
11月前
|
缓存 Java 调度
多线程编程核心:上下文切换深度解析
在现代计算机系统中,多线程编程已成为提高程序性能和响应速度的关键技术。然而,多线程编程中一个不可避免的概念就是上下文切换(Context Switching)。本文将深入探讨上下文切换的概念、原因、影响以及优化策略,帮助你在工作和学习中深入理解这一技术干货。
279 10
|
Web App开发 移动开发 安全
WordPress插件wp-file-manager任意文件上传漏洞(CVE-2020-25213)
WordPress插件WPFileManager中存在一个严重的安全漏洞,攻击者可以在安装了此插件的任何WordPress网站上任意上传文件并远程代码执行。
2352 1
|
Web App开发
笔记本电脑能连接WiFi但浏览器无法打开网页的解决办法
笔记本电脑能连接WiFi但浏览器无法打开网页的解决办法
16445 0
笔记本电脑能连接WiFi但浏览器无法打开网页的解决办法
|
存储 缓存 JavaScript
【vue2】解决Vuex刷新页面数据丢失的问题
【vue2】解决Vuex刷新页面数据丢失的问题
1043 6
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的宠物医院预约挂号系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的宠物医院预约挂号系统的详细设计和实现(源码+lw+部署文档+讲解等)
214 1
|
负载均衡 Java API
构建高效微服务架构:API网关与服务熔断策略
【5月更文挑战第2天】 在微服务架构中,确保系统的高可用性与灵活性是至关重要的。本文将深入探讨如何通过实施有效的API网关和设计合理的服务熔断机制来提升分布式系统的鲁棒性。我们将分析API网关的核心职责,包括请求路由、负载均衡、认证授权以及限流控制,并讨论如何利用熔断器模式防止故障传播,维护系统的整体稳定性。文章还将介绍一些实用的技术和工具,如Netflix Zuul、Spring Cloud Gateway以及Hystrix,以帮助开发者构建一个可靠且高效的微服务环境。
|
前端开发
Bootstrap 5 保姆级教程(十):导航栏 & 轮播
Bootstrap 5 保姆级教程(十):导航栏 & 轮播

热门文章

最新文章