1, using the artisan
generation controller
Create a file directory:
app\Http\Controllers
#默认生成
php artisan make:controller TestController
#初始化生成不包含一些方法
php artisan make:controller TestController --plain
2, the controller and routing module with
Semantic routing module request address custom
controller@
connection member methods, the present method is the address of the requested operation performed
return
here can be returned directly to the client functionally similarecho
1. Normal Mode Request
Routing module code:
Route::get('user/test','TestController@show');
Controller code:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
//
public function show(){
return 'this is show function ';
}
}
2. With reference request
Routing module code:
Route::get('user/test/{id}/{name}','TestController@show');
Controller code:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
//
public function show($id,$name){
return 'show方法获取的id:'.$id.' , name:'.$name;
}
}
3. Alias
Routing module code:
Route::get('/Admin/User/OtherName/{id}',[
'as'=>'OtherName',
'uses'=>'TestController@OtherName'
]);
Controller code:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
public function OtherName($id)
{
//这里使用别名还原完整的URL
return route('OtherName', ['id' => $id]);
}
}
4. Application Middleware
Routing module code:
//第一种写法
Route::get('/Admin/ConMid',[
'middleware'=>'login',//中间件小写,大写会当成类名使用
'uses'=>'TestController@ConMid'
]);
//第二种写法
Route::get('/Admin/ConMiddle','TestController@ConMid')->middleware('login');
Controller code:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
public function ConMid()
{
return '测试控制器应用中间件方法';
}
}
The controller implicit
Note: If no current method, will be reported 404 pages
Routing module code:
Route::controller('test','TestController'); //Route::controller('路由模块','对应的控制器');隐式控制器写法
Example: get
access test/add
module add
is a process controller, we can then use the controller module getAdd(get请求)
/ postAdd(oost请求)
invoke methods
controller code:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
public function getAdd()
{
return '隐式控制器测试页面';
}
}
6. RESTful控制器
注意:
Routing module code:
Route::resource('test','TestController'); //Route::resource('路由模块','对应的控制器'); RESTful控制器写法
Controller code:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
/**
* url:test
* 请求方式:get
*/
public function index()
{
//
return 'RESTful首页页面index';
}
/**
* url:test/create
* 请求方式:get
*/
public function create()
{
//
return 'RESTful create 添加页面';
}
/**
* url:test
* 请求方式:post
*/
public function store(Request $request)
{
//
return 'RESTful store post 请求首页';
}
/**
* url:test/{id}
* 请求方式:get
*/
public function show($id)
{
//
return 'RESTful show 请求的id:' . $id;
}
/**
* url:test/{id}/edit
* 请求方式:get
*/
public function edit($id)
{
//
return 'RESTful edit 请求的id:' . $id;
}
/**
* url:test/{id}
* 请求方式:put表单/patch
* 隐藏域value='PUT'
*/
public function update(Request $request, $id)
{
return 'RESTful 表单update请求的id:' . $id;
}
/**
* url:test/{id}
* 请求方式:delete
* 隐藏域value='DELETE'
*/
public function destroy($id)
{
//
return 'RESTful 表单destroy请求的id:' . $id;
}
}
Hide domain knowledge has nothing to do with this article: csrf_field () hidden form field validation by the global middleware POST request is processed, you can not comment kernel.php -> verifycsrftoken middleware. Otherwise need to add csrf_field () method is not being given to