网易首页 > 网易号 > 正文 申请入驻

3分钟短文:Laravel控制器用法光速入门

0
分享至

引言

上一章我们介绍了laravel路由注册中的“花拳绣腿”,样样都是那么优雅而实用。路由传递过来的参数,在经过中间件验证和导向之后,应该去控制器接受处理了。

本文用最简单的示例,让你明白laravel中控制器是干什么的,以及怎么用。

代码时间

在开始介绍之前,我们先看一下MVC设计模式的一个概要图:

Model就是模型,是数据库交互部分;View就是视图,是渲染数据的页面。我们本期介绍的就是中间的连接部分——controller控制器。

首先使用命令行脚手架创建一个控制器文件:

php artisan make:controller TasksController

默认的控制器文件放置在app/Http/Controllers目录下。我们看生成的文件默认代码:

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class TasksController extends Controller
{
}

仅仅是继承了框架的Controller类。没有什么可写的,我们就写个hello world练练手吧:

public function home()
{
return 'Hello, World!';
}

我们声明了home方法,并直接返回了字符串。接下来,为了这个方法可以被访问到,需要路由的配合,在routes/web.php文件内添加一条路由地址:

Route::get('/', 'TasksController@home');

编辑完成并保存后,在浏览器直接访问根目录,如果配置正确,那么浏览器会直接返回 hello world 文字。

如果要在控制器里把数据准备好,并发送给视图文件,比如index方法内返回一个视图:

public function index()
{
return view('tasks.index')->with('tasks', Task::all());
}

其中Task::all()是模型文件 Task 查询所有数据库内的数据,并赋值给tasks变量,发送到tasks.index视图文件内。

仿照restfulapi风格的路由,再定义两条路由地址,用于打开表单,和接收表单提交的数据:

Route::get('tasks/create', 'TasksController@create');
Route::post('tasks', 'TasksController@store');

表单怎么写不在本文的介绍范围,后面我们有专门章节详细阐述视图模板。我们且说一说接收用户表单提交数据的POST方法:

public function store()
{
$task = new Task;
$task->title = Input::get('title');
$task->description = Input::get('description');
$task->save();
return redirect('tasks');
}

其中Input类来自Illuminate\Support\Facades\Input。laravel贴心地把输入数据集成到Request类内了。所以我们可以方便地使用依赖注入的方式,这样改写store方法:

public function store(\Illuminate\Http\Request $request)
{
$task = new Task;
$task->title = $request->input('title');
$task->description = $request->input('description');
$task->save();
return redirect('tasks');
}

上面讲的这些个路由,其实都包含在了laravel提供的资源路由之内,我们创建一个资源路由相关的控制器,并初始化框架代码,可以使用命令实现:

php artisan make:controller TaskController --resource

大家可以自行尝试,我们就不再贴出骨架代码了。其默认生成的路由有下面这些:

这就是restful风格。这么多路由和请求方法,每次都要重写一次岂不要命。还好laravel提供了一个方法,默认给我们做了这些重复工作,所以只要用resource方法注册就可以了:

Route::resource('tasks', 'TasksController');

要查看系统内所有已注册的路由,可以使用下面的指令:

php artisan route:list

写在最后

本文浅显地介绍了laravel中控制器的使用,最重要的是,resource路由方法默认的骨架代码,为我们统一写作api接口提供了标准,在团队协作中尤其重要。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
女老板介绍她妹妹给我,我回“不如娶你”,第二天她叫我进办公室

女老板介绍她妹妹给我,我回“不如娶你”,第二天她叫我进办公室

那年秋天
2026-05-08 21:30:07
51岁大妈再婚30岁小鲜肉6个月,大妈:“年纪大了,爬不动山!”

51岁大妈再婚30岁小鲜肉6个月,大妈:“年纪大了,爬不动山!”

混音情感
2026-05-09 11:20:29
“捡都捡不完!”深圳莲花山公园大量出现,网友:能吃吗?

“捡都捡不完!”深圳莲花山公园大量出现,网友:能吃吗?

小蜜情感说
2026-05-09 01:51:45
黑尾酱,彻底消失了?

黑尾酱,彻底消失了?

生如稗草
2026-03-15 08:48:11
原来她是蓝盈莹母亲,凭一己之力打入商圈,又带女儿再嫁上海富豪

原来她是蓝盈莹母亲,凭一己之力打入商圈,又带女儿再嫁上海富豪

大中国
2026-05-08 06:32:43
36岁名校海归博士求职无门:不上班最难受的不是没钱,是精神失重

36岁名校海归博士求职无门:不上班最难受的不是没钱,是精神失重

三言四拍
2026-05-08 09:01:06
白人女性与黑人女性的体味差异,网友真实分享引发热议

白人女性与黑人女性的体味差异,网友真实分享引发热议

特约前排观众
2025-12-22 00:20:06
菜市场与超市的三大“怪象”,你察觉到了吗?

菜市场与超市的三大“怪象”,你察觉到了吗?

华人星光
2026-05-09 11:03:25
续航一夜蒸发200公里,8家新能源车企远程“锁电”被约谈,3家被立案调查

续航一夜蒸发200公里,8家新能源车企远程“锁电”被约谈,3家被立案调查

金融界
2026-05-07 18:29:15
无视所有干扰!一发端掉整个炮兵阵地,给全世界陆军上了一课

无视所有干扰!一发端掉整个炮兵阵地,给全世界陆军上了一课

深度报
2026-05-08 22:24:49
新花样!乌抢跑48小时率先停火,接下来大俄如何接招都讨不到便宜

新花样!乌抢跑48小时率先停火,接下来大俄如何接招都讨不到便宜

战刃
2026-05-06 10:39:54
吴宜泽好友实锤:别造神了!所谓寒门励志是误会,经济压力大≠穷

吴宜泽好友实锤:别造神了!所谓寒门励志是误会,经济压力大≠穷

一盅情怀
2026-05-08 09:07:04
辣眼睛!打10分钟正负值-14,攻不进也防不住,湖人又白花1200万

辣眼睛!打10分钟正负值-14,攻不进也防不住,湖人又白花1200万

兵哥篮球故事
2026-05-08 16:57:47
别再造神了!吴宜泽好友曝真实家境,非寒门,经济压力大也不是穷

别再造神了!吴宜泽好友曝真实家境,非寒门,经济压力大也不是穷

新时代精神
2026-05-08 10:55:03
河南一景区“攻城送蒜薹”玩梗成真:把参演游客的枷锁换成了“蒜薹花环”,演完可带走

河南一景区“攻城送蒜薹”玩梗成真:把参演游客的枷锁换成了“蒜薹花环”,演完可带走

扬子晚报
2026-05-08 20:46:07
光地皮就值2个亿的美国驻华大使馆,为何修成一座封闭式碉堡?

光地皮就值2个亿的美国驻华大使馆,为何修成一座封闭式碉堡?

贱议你读史
2026-05-07 14:58:39
闻泰科技暴雷事件始末

闻泰科技暴雷事件始末

干货收并购
2026-05-09 08:48:01
大破防!“他们铁了心要买中国货”

大破防!“他们铁了心要买中国货”

观察者网
2026-05-09 08:42:48
汉武帝为什么总选春天进攻匈奴?司马光:匈奴女子春天更容易怀孕

汉武帝为什么总选春天进攻匈奴?司马光:匈奴女子春天更容易怀孕

云霄纪史观
2026-05-08 00:57:48
我国5600余个姓中只有8个姓从未衰落,看一下有你的姓吗?

我国5600余个姓中只有8个姓从未衰落,看一下有你的姓吗?

心中的麦田
2026-05-06 19:24:47
2026-05-09 12:20:49
程序员小助手
程序员小助手
专注编程知识IT领域原创作者
254文章数 1793关注度
往期回顾 全部

科技要闻

美国政府强力下场 苹果英特尔达成代工协议

头条要闻

年轻女子190元买榴莲仅退款被拘留 代收点离家3公里

头条要闻

年轻女子190元买榴莲仅退款被拘留 代收点离家3公里

体育要闻

成立128年后,这支升班马首夺顶级联赛冠军

娱乐要闻

张艺谋《印象刘三姐》全裸镜头引争议

财经要闻

Meta疯狂拥抱人工智能:员工苦不堪言

汽车要闻

全系智能泊车 铂智3X年款升级限时权益价9.48万起

态度原创

数码
旅游
房产
公开课
军事航空

数码要闻

海信发布画框艺术音响M5:6单元100W功率,杜比全景声认证

旅游要闻

名画跑进咖啡杯!徐悲鸿纪念馆“上新”文创咖啡空间

房产要闻

豪掷6.8亿拿地!何猷君大手笔投资三亚!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美伊突然再次交火 伊朗外长:战争准备程度是1000%

无障碍浏览 进入关怀版