laravel - 控制器基础

路径:app/Http/Controllers

基础控制器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class UserController extends Controller {

/**
* 显示所给定的用户个人数据。
*
* @param int $id
* @return Response
*/
public function showProfile($id)
{
return view('user.profile', ['user' => User::findOrFail($id)]);
}

}
?>

可以通过如下方式引导路由至对应的控制器动作:
Route::any('test1',['uses'=>'StudentController@test1']);

Controller之Request

Controller之Session

Controller之Response

Controller之Middleware

laravel中间件提供一个方便的机制来过滤进入应用程序的HTTP请求

第一步新建中间件

Middleware=>Activity.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 
namespace App\Http\Middleware;
use closure;
class Activity{
//新建一个固定的方法handle($request,$next);
//next 是一个全局的包
//请求执行前操作,前置操作
//$next($request)响应
public function handle($request,$next){
if (time()<strtotime('2015-10-2')) {
return redirect('activity0');
}
return $next($request);
}
}
?>

第二步注册中间件

Kernel.php=>protected $routeMiddleware

'activity' => \App\Http\Middleware\Activity::class

第三步使用中间件

routes.php

1
2
3
4
5
6
    Route::any('activity0',['uses'=>'StudentController@activity0']);
//使用中间件
Route::group(['middleware'=>'activity'],function(){
Route::any('activity1',['uses'=>'StudentController@activity1']);
Route::any('activity2',['uses'=>'StudentController@activity2']);
});

补充StudentController:

1
2
3
4
5
6
7
8
9
public function activity0(){
return '活动快要开始了,敬请期待';
}
public function activity1(){
return '活动进行中,谢谢您的参与';
}
public function activity2(){
return '活动仍在进行中,谢谢参与';
}