控制器的书写位置:app/Http/controllers
命名规则:驼峰形式
使用artisan自动创建控制器
php artisan make:controller TestController
1.Controller 之 Request
Laravel 中的请求使用的是 symfony/http-foundation 组件
包含$_GET, $_POST, $_COOKIE, $_FILES, $_SERVER
public function request(Request $request){
echo $request -> input('name'); // 获取URL中的参数
echo $request->method(); // 请求方法
echo $request->url(); // 当前URL
}
2.Controller 之 Session
Session简介: 由于HTTP协定是无状态的,所以session 提供一种保存用户数据到服务端的方法
session 的配置文件在 config/session.php 中
三种使用方法
(1)HTTP request 类中的session() 方法
(2)session() 辅助函数
(3)session facade
Session::put('key','value'); // 存储一个变量
$value = Session::get('key'); // 获取一个变量
$value = Session::get('key', 'default'); // Session中获取一个变量或返回一个默认值
$value = Session::all(); // 获取所有变量
Session::has('key'); // 检查一个变量是否在Session中存在
Session::forget('key'); // 删除一个变量
Session::flush(); // 删除所有变量
// 在视图中使用
{{Session::get('key')}}
3.Controller 之 Response
处理响应返回json数据
return reponse()->json($data);
4.Controller 之 Middleware
5.Controller 之 redirect(重定向)
处理完当前逻辑后重定向到某个路由
return redirect('/test');
6.Controller 之 Cache
配置文件在config/cache.php
Cache::put('key', 'value', $minutes); // 必须设置有效期,如果key存在,则覆盖
Cache::get('key'); // 获取key的值
Cache::forget('key'); // 删除某个key
Cache::has('key'); // 查询key是否存在
Cache::add('key', 'value', $minutes); // 只有在key不存在时,才添加,成功返回true
Cache::forever('key', 'value'); // 持久化缓存,必须通过forget方法手动删除