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 编写安全的代码时容易犯的错误小结
May 20 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
Aug 16 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
php构造函数的继承方法
Feb 09 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
php.ini中的request_order推荐设置
May 10 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
php中yii框架实例用法
Dec 22 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
PHP4在Windows2000下的安装
2006/10/09 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php判断linux下程序问题实例
2015/07/09 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
offsetParent 算法分析
2010/04/05 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
Python 实现链表实例代码
2017/04/07 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
内刊编辑求职自荐书范文
2014/02/19 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
债务授权委托书范本
2014/10/17 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
首次购房证明
2015/06/19 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android