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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
第十四节 命名空间 [14]
Oct 09 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 PHP
PHP生成sitemap.xml地图函数
Nov 13 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
Jan 19 PHP
php生成word并下载代码实例
Mar 15 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
python连接oracle数据库实例
2014/10/17 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
Python常见数字运算操作实例小结
2019/03/22 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python 创建TCP服务器的方法
2020/07/28 Python
中国最大的团购网站:聚划算
2016/09/21 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
会计专业自荐信
2014/06/03 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
家庭困难证明
2014/10/12 职场文书
演讲比赛主持词
2015/06/29 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python