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 相关文章推荐
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
php实现RSA加密类实例
Mar 26 PHP
php实现的递归提成方案实例
Nov 14 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
php简单实现批量上传图片的方法
May 09 PHP
PHP正则表达式入门教程(推荐)
May 18 PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 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连接MySQL代码的参数说明
2008/06/07 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
php简单获取目录列表的方法
2015/03/24 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
Javascript Object.extend
2010/05/18 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python实现调度算法代码详解
2017/12/01 Python
OpenCV 模板匹配
2019/07/10 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
python爬虫实现获取下一页代码
2020/03/13 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
总经理司机职责
2014/02/02 职场文书
小学国庆节活动方案
2014/02/11 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
功夫熊猫观后感
2015/06/10 职场文书
学生病假条范文
2015/08/17 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
python中subplot大小的设置步骤
2021/06/28 Python