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生成静态页
Nov 25 PHP
深入PHP数据缓存的使用说明
May 10 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
yii插入数据库防并发的简单代码
May 27 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
PHP 多任务秒级定时器的实现方法
May 13 PHP
PHP文件后缀不强制为.php方法
Mar 31 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 PHP
PHP判断是否是json字符串
Apr 01 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
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
php简单实现MVC
2015/02/05 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
PHP异常处理Exception类
2015/12/11 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
横向对比分析Python解析XML的四种方式
2016/03/30 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
django解决跨域请求的问题
2018/11/11 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
银行会计财务工作个人的自我评价
2013/10/29 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
调解协议书
2014/04/16 职场文书
标准单位租车协议书
2014/09/23 职场文书
关于工作经历的证明书
2014/10/11 职场文书
服务整改报告
2014/11/06 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
家庭经济困难证明
2015/06/23 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL