前端之家收集整理的这篇文章主要介绍了
Laravel框架路由和控制器的绑定操作方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了Laravel框架路由和控制器的绑定操作方法。分享给大家供大家参考,具体如下:
路由和控制器的关系
路由文件地址在PHP,我们来看两种不同的路由。
PHP;">
Route::get('/',function () {
return view('welcome');
});
Route::get('/hi',function () {
return 'hello world';
});
以上均为绑定匿名函数的路由,虽然可以返回视图,也可以返回字符串,但本质都是一样的。
PHP;">
Route::get('/blog','BlogController@index');
Route::get('/post/{slug}','BlogController@showPost');
这两种是绑定控制器的路由,控制器类函数,调用。
那么问题来了,究竟应该选用哪种?
你不可能把复杂的业务逻辑都写在一个匿名函数里,所以你要学会新建控制器。
PHP;">
Route::get('/mvc','MyController@hello');
添加新控制器
控制器文件夹地址在Laravel文件夹下
PHP;">
PHP artisan make:controller MyController
然后,回到控制器目录,一份新的MyController.PHP文件被创建了,代码如下:
PHP;">
PHP
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class MyController extends Controller
{
//
}
我们修改MyController类,同时再创建一个视图。
PHP;">
PHP
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class MyController extends Controller
{
public function hello()
{
return View('myview');
}
}
如果这么写,就意味着一旦用户访问函数,hello函数返回myview视图,即返回myview.blade.PHP
我们看看myview.blade.PHP的代码
PHP;">
@extends('layouts.app')
@section('content')