Laravel框架路由和控制器的绑定操作方法


Posted in PHP onJune 12, 2018

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

路由和控制器的关系

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

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

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

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

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

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

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

Route::get('/mvc', 'MyController@hello');

添加新控制器

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

php artisan make:controller MyController

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

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

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

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class MyController extends Controller
{
  public function hello()
  {
    return View('myview');
  }
}

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

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

@extends('layouts.app')
@section('content')
<div class="container">
  <div class="row">
    <div class="col-md-10 col-md-offset-1">
      <div class="panel panel-default">
        <div class="panel-heading">{{ $d1 }}</div>
        <div class="panel-body">
          this is my view!
        </div>
      </div>
    </div>
  </div>
</div>
@endsection

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

class MyController extends Controller
{
  public function hello()
  {
    return View('myview',['d1'=>'a1']);
  }
}

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
提升PHP执行速度全攻略(上)
Oct 09 PHP
php中的时间处理
Oct 09 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 PHP
php三维数组去重(示例代码)
Nov 26 PHP
php数组中包含中文的排序方法
Jun 03 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
Nov 17 PHP
php取得字符串首字母的方法
Mar 25 PHP
twig模板常用语句实例小结
Feb 04 PHP
利用PHP获取网站访客的所在地位置
Jan 18 PHP
Laravel框架路由设置与使用示例
Jun 12 #PHP
Laravel框架生命周期与原理分析
Jun 12 #PHP
Laravel框架分页实现方法分析
Jun 12 #PHP
php 可变函数使用小结
Jun 12 #PHP
yii2中关于加密解密的那些事儿
Jun 12 #PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 #PHP
Laravel框架模板继承操作示例
Jun 11 #PHP
You might like
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
IE bug table元素的innerHTML
2010/01/11 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
js Date概念详细介绍
2013/11/22 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python文件写入实例分析
2015/04/08 Python
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
Python对切片命名的实现方法
2018/10/16 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python实现列表的排序方法分享
2019/07/01 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
记帐员岗位责任制
2014/02/08 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库