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 相关文章推荐
MySQL GBK→UTF-8编码转换
May 24 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
php对数组排序的简单实例
Dec 25 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
php实现word转html的方法
Jan 22 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
php写入txt乱码的解决方法
Sep 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
PHPCMS的使用小结
2010/09/20 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
Node.js DES加密的简单实现
2016/07/07 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
浅谈Python NLP入门教程
2017/12/25 Python
python 为什么说eval要慎用
2019/03/26 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python占用的内存优化教程
2019/07/28 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
基于PyTorch中view的用法说明
2021/03/03 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
生物科学专业个人求职信范文
2013/12/07 职场文书
马云的职业生涯规划之路
2014/01/01 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
医院节能减排方案
2014/06/13 职场文书
2015感人爱情寄语
2015/02/26 职场文书
2015年财务部工作总结
2015/04/10 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书