laravel第二讲:路由的定义及与控制器绑定

2022-05-15 0 361

我们知道,网络中的路由器是用来选择路径、转发分组的,那么框架中的路由是用来干嘛的呢?这里的路由是用来接收http请求的路径,通过设置路径来访问特定程序的功能。路由是框架的核心功能之一,基本所有主流框架都有路由功能。并且,我们可以通过设置路由来将一些长的、深的路径该成短的、浅的路径(非常利于seo的一个功能)。

默认路由文件

所有的laravel路由都在根目录的routes目录下的路由文件定义,框架默认自动加载这个目录下的文件。我们看看routes/web.php这个文件

use Illuminate\\Support\\Facades\\Route;Route::get('/', function () {    return view('welcome');});

基本路由

现在,我们在web.php文件中,新建一个最简单的路由,代码如下:

Route::get('index', function () {    return "study laravel";});

现在,我们在浏览器中输入localhost:8000/index就可以看到"study laravel"这句话了。

常见路由方法

除了上述了get方法外,经常使用的路由方法有:post,put,delete,any,match。

这里的any方法表示不管是什么请求方式都可以,可以是get/post/put等请求方式,它都处理。而match可以用来指定多个请求,下面来演示match的用法:

Route::match(['get', 'post'], "list", function (){    return 'list';});

参数传递

经常的,我们在路由中还会加入参数。比如/news/1这样是非常的常见。lavarel的路由方法支持参数的传递,如:

Route::get('news/{id}', function ($id) {    return 'news:' . $id;});

上述的路由虽然能够传递参数,但还是不能满足我的需求,我希望{id}这个参数必须是数字,那么,可以这样:

Route::get('news/{id}', function ($id) {    return 'news:' . $id;})->where('id', '\\d+');

我们还可以传递多个参数,闭包中的参数会自动一一对应,如:

Route::get('/name/{name}/age/{age}', function($name, $age) {    echo "name:$name age:$age";})->where(['name' => '\\w+', 'age' => '\\d+']);

路由与控制器绑定

首先,我们创建一个控制器文件app\\Http\\Controllers\\IndexController.php,代码如下:

<?phpnamespace App\\Http\\Controllers;class IndexController extends Controller{    public function news ($id)    {        echo "news:$id";    }}

现在修改路由文件web.php

Route::get('news/{id}', 'IndexController@news')->where('id', '\\d+');

现在通过/news/1就能访问到IndexController控制器中的news方法了。

若创建了app/Http/Controllers/Home/IndexController.php,那么这个控制器的路由该如何设置呢?方法如下:

Route::get('home', 'Home\\IndexController@index');

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明:根据2013年1月30日《计算机软件保护条例》2次修订第17条规定: 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存 储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!】
本站所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注,网站资源不做任何二次加密(原版加密除外,不影响程序使用的不会做解密处理),方便您更好的学习参考。 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

即刻码站__国内靠谱的站长资源下载平台 php教程 laravel第二讲:路由的定义及与控制器绑定 https://www.jike1995.com/36062.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务