Rumah > pembangunan bahagian belakang > tutorial php > 关于Laravel框架路由和控制器的绑定操作

关于Laravel框架路由和控制器的绑定操作

不言
Lepaskan: 2023-03-31 20:06:02
asal
3027 orang telah melayarinya

这篇文章主要介绍了Laravel框架路由和控制器的绑定操作方法,结合实例形式分析了Laravel框架路由与控制器绑定的操作步骤、实现方法与相关注意事项,需要的朋友可以参考下

本文实例讲述了Laravel框架路由和控制器的绑定操作方法。分享给大家供大家参考,具体如下:

路由和控制器的关系

路由文件地址在\app\Http\routes.php,我们来看两种不同的路由。

Route::get('/', function () {
  return view('welcome');
});
Route::get('/hi', function () {
  return 'hello world';
});
Salin selepas log masuk

以上均为绑定匿名函数的路由,虽然可以返回视图,也可以返回字符串,但本质都是一样的。

Route::get('/blog','BlogController@index');
Route::get('/post/{slug}','BlogController@showPost');
Salin selepas log masuk

这两种是绑定控制器的路由,控制器类BlogController下有两个函数,indexshowPost,可以调用。

那么问题来了,究竟应该选用哪种?

你不可能把复杂的业务逻辑都写在一个匿名函数里,所以你要学会新建控制器。

Route::get('/mvc', 'MyController@hello');
Salin selepas log masuk

添加新控制器

控制器文件夹地址在Laravel文件夹下\app\Http\Controllers,我们继续使用artisan控制台创建一个新控制器

php artisan make:controller MyController
Salin selepas log masuk

然后,回到控制器目录,一份新的MyController.php文件被创建了,代码如下:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class MyController extends Controller
{
  //
}
Salin selepas log masuk

我们修改MyController类,同时再创建一个视图。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class MyController extends Controller
{
  public function hello()
  {
    return View(&#39;myview&#39;);
  }
}
Salin selepas log masuk

如果这么写,就意味着一旦用户访问URL:laravel/public/mvc,路由就会交给MyController控制器的hello函数,hello函数返回myview视图,即返回myview.blade.php

我们看看myview.blade.php的代码

@extends(&#39;layouts.app&#39;)
@section(&#39;content&#39;)
<p class="container">
  <p class="row">
    <p class="col-md-10 col-md-offset-1">
      <p class="panel panel-default">
        <p class="panel-heading">{{ $d1 }}</p>
        <p class="panel-body">
          this is my view!
        </p>
      </p>
    </p>
  </p>
</p>
@endsection
Salin selepas log masuk

这里的{{ $d1 }}希望用一个变量的值来代替,所以,我们把MyController控制器修改为

class MyController extends Controller
{
  public function hello()
  {
    return View(&#39;myview&#39;,[&#39;d1&#39;=>&#39;a1&#39;]);
  }
}
Salin selepas log masuk

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

Laravel框架实现分页的分析

对于Laravel框架的生命周期与原理分析

Laravel框架的路由设置

Atas ialah kandungan terperinci 关于Laravel框架路由和控制器的绑定操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan