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 的 __FILE__ 常量
Jan 15 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
Mar 15 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
Sep 10 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
thinkphp实现like模糊查询实例
Oct 29 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
关于php中的json_encode()和json_decode()函数的一些说明
Nov 20 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 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面向对象全攻略 (十五) 多态的应用
2009/09/30 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
2017/02/24 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
简单了解Python3里的一些新特性
2019/07/13 Python
python 实现目录复制的三种小结
2019/12/04 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
半年思想汇报
2013/12/30 职场文书
迟到早退检讨书
2014/02/10 职场文书
贷款委托书范本
2014/04/08 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书