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 SQLite类
May 07 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
微信支付开发教程(一)微信支付URL配置
May 28 PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
thinkPHP下的widget扩展用法实例分析
Dec 26 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
Laravel框架路由设置与使用示例
Jun 12 #PHP
Laravel框架生命周期与原理分析
Jun 12 #PHP
Laravel框架分页实现方法分析
Jun 12 #PHP
php 可变函数使用小结
Jun 12 #PHP
PHP程序员学习使用Swoole的理由
Jun 24 #PHP
PHP实现的装箱算法示例
Jun 23 #PHP
PHP基于curl模拟post提交json数据示例
Jun 22 #PHP
You might like
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
python命令行参数sys.argv使用示例
2014/01/28 Python
Python获取服务器信息的最简单实现方法
2015/03/05 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
自主招生自荐书
2013/11/29 职场文书
环保倡议书50字
2014/05/15 职场文书
工资收入证明
2014/10/07 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
春节慰问简报
2015/07/21 职场文书
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server
SQL语句多表联合查询的方法示例
2022/04/18 MySQL