监控系统实践第14天:5天上手Laravel8.5之控制器篇(3/5)
Posted 家铭didphp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控系统实践第14天:5天上手Laravel8.5之控制器篇(3/5)相关的知识,希望对你有一定的参考价值。
前言
前天介绍路由
,昨天介绍中间件
,今天来介绍一下控制器
。
控制器
可以说是跟路由
密切关联的,虽然用途有好几种,但是大部分人还是用它来填充URI
的返回内容。
路由
和控制器
,这两者可以说是整个Laravel
框架的重点,虽然不一定用到它们,但是最好一定要会。
是否存在疑问,为什么不一定会用到路由
和控制器
?
因为当你只需要编写并使用Laravel
的自定义命令
时,可以完全不需要它们,不理会它们。
Laravel基础功能:控制器(Controllers)
简介
Laravel
的官方文档对它自己的控制器
的介绍是:
为了替代在路由文件中以闭包形式定义的所有的请求处理逻辑,你可能想要使用控制类来组织这些行为。控制器能将相关的请求处理逻辑组成一个单独的类。控制器被存放在 app/Http/Controllers 目录。
这句话简单说来,就是用来填充URI
的返回内容的意思。
还记得昨天路由篇
中的闭包中定义内容
吗?官方文档对控制器
的解释,可以理解为闭包中定义内容
的升级版,即代替并丰富路由
闭包中的内容。
如果不太记得路由
,可以回顾这篇:监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)
如何运用?
控制器
本身就是一个php
类,抛开PHP
自身调用类的方法不谈,将控制器
绑定到路由
上进行访问,是控制器
最常用的使用方法。
实际运用
放下理论概念,我们用几个实例来讲解控制器
在Laravel
中的实际运用方法。
1. 创建控制器
控制器
可以通过命令
与手写
的方式创建,推荐使用命令
创建控制器
,相对手工创建的方式,这样更容易降低错误率。
所有的控制器文件,均默认在文件夹app/Http/Controllers/
下。
随意一点,我现在创建一个名为Art
的控制器
,在框架的根目录执行命令:
# php artisan make:controller ArtController
成功返回
Controller created successfully.
使用创建命令创建好控制器
后,控制器
在/app/Http/Controllers/
下,文件名为/app/Http/Controllers/ArtController.php
,文件不会包含任何方法,需要自行编写,内容如下
<?php
namespace App\\Http\\Controllers;
use Illuminate\\Http\\Request;
class ArtController extends Controller
{
//
}
2. 访问控制器
控制器
在创建之后,不能直接访问,必须绑定路由
。
假设编写一个方法show()
,返回文本。
代码文本为:
<?php
namespace App\\Http\\Controllers;
use Illuminate\\Http\\Request;
class ArtController extends Controller
{
public function show($id=1) {
return 'show:' . $id;
}
}
找到路由
文件/routes/web.php
,将方法show()
进行路由
绑定,使控制器
可以访问:Route::get('show', [\\App\\Http\\Controllers\\ArtController::class, 'show']);
。
绑定后,即可访问:
最后的说明
今天的内容很短是吗?短就对了,够用了,而且近期找过一些朋友问过内容长度问题,还是有一些朋友觉得,内容短点好,容易吸收,太长了,收藏起来,时间久了忘记看。
以上的阐述只对有基础的朋友有作用,如果对以上的知识点有质疑或者不懂的可以在下方留言。
以上是关于监控系统实践第14天:5天上手Laravel8.5之控制器篇(3/5)的主要内容,如果未能解决你的问题,请参考以下文章
监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)
监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)
监控系统实践第13天:5天上手Laravel8.5之中间件篇(2/5)
监控系统实践第10天:用宝塔部署Laravel8.5框架的站点