Laravel 学习路线【4】控制器
来源:互联网 发布:淘宝货退回去了不退钱 编辑:程序博客网 时间:2024/06/07 08:49
控制器简介
控制器可以将相关的HTTP 请求封装到一个勒种进行处理,控制器目录在 app/Http/Controllers 目录中
定义控制器
<?php namespace App\Http\Controllers;use App\User;use App\Http\Controlelrs\Controller;class UserController extends Controller{ //为指定用户显示详情 public function show($id) { return view('user.profile',['user' => User::findOrFail($id)]); }}
我们可以这样定义路由
Route::get('user/{id}','UserController@show');
如果一个请求匹配到上面URI UserController 的 show 方法就会被执行。路由参数也会传递给当前方法
单动作控制器
如果你想定义一个只处理一个动作的控制器,可以在控制器中定义 __invoke 方法。
<?phpnamespace App\Http\Controllers;use App\User;use App\Http\Controllers\Controller;class ShowProfile extends Controller { public function __invoke($id) { return view('user.profile',['users' => findOrFail($id)]); }}
当你为这个单动作控制器注册路由的时候,不需要指定方法:
Route::get('user/{id}','ShowProfile');
控制器中间件
中间件可以像这样分配给控制器路由
Route::get('profile','UserController@show')->middleware('auth');
但是,将中间件放在控制器构造函数中更方便,在控制器的构造函数中使用 middleware 方法你可以很轻松的分配中间件给该控制器。
class UserController extends Controller{ //实例化一个新的UserController 实例 public function __construct() { $this->middleware('auth'); $this->middleware('log')->only('index'); $this->middleware('subscribed')->except('store'); }}
在控制器中还可以使用闭包注册中间件,这为我们定义只在某个控制器中使用中间件提供了方便,无需定义完整的中间件类:
$this->middleware(function($request,$next){ return $next($request); })
注:你还可以将中间件分配给多个控制器动作,不过,这意味着你的控制器会变得越来越臃肿,这种情况下,需要考虑将控制器分割成多个更小的控制器。
阅读全文
0 0
- Laravel 学习路线【4】控制器
- ### laravel学习--控制器
- Laravel 学习路线【2】路由
- Laravel 学习路线【1】基础目录认识
- Laravel 控制器
- laravel控制器
- Laravel 5.1.4 + Bootstrap 3.3.5 笔记四:Laravel 控制器
- laravel 学习笔记——路由(路由与控制器)
- laravel 学习笔记——路由(路由与控制器)
- Laravel 学习笔记——路由(路由与控制器)
- Laravel学习:路由、视图、控制器工作流程(2)
- 【转】学习路线4
- 6. laravel 控制器
- Laravel控制器简单总结
- Laravel控制器详解
- laravel 三 控制器
- laravel生成控制器
- laravel自定义控制器文件
- 今天我给大家带来linux jdk的配置
- 群论——从入门到放弃(群、置换、Burnside引理和Polya定理)
- SQL Server 对Scehma的操作
- 日期比较
- 仿百度文库,豆丁网、道客巴巴类型文档上传下载在线预览源码程序
- Laravel 学习路线【4】控制器
- Python字符串
- sftp传输
- Hbuilder如何连远程接服务器上传代码
- Java 编程思想(十)枚举
- spring AOP介绍与使用
- Python使用struct处理二进制(pack和unpack用法)
- 【模板】【Treap/SBT】【树堆】普通平衡树【洛谷P3369】
- 程序员之死