Laravel框架创建路由的方法详解

本文实例讲述了Laravel框架创建路由的方法。分享给大家供大家参考,具体如下:

我这里使用的Laravel版本是5.6,路由位置在routes/web.php中,所以我们在这个文件中添加我们想要添加的路由。
1.基础路由

//get请求,结果如下图
Route::get('basic1',function (){
  return 'Hello World';
});
//post请求,这里不展示结果图
Route::post('basic2',function (){
  return 'Post';
});


2.多请求路由

//自定义多请求,自定义的请求放在下面的数组中
Route::match(['get','post'],'multy',function(){
  return "多请求路由";
});
//响应所有请求
Route::any('multy2',function (){
  return '响应所有请求';
});

自定义多请求

响应所有请求

3.路由参数

//必选参数
Route::get('user/{id}',function ($id){
  return '用户的id是'.$id;
});

有参数

没参数

//可选参数,无参数默认值为Doubly
Route::get('name/{name?}',function ($name = 'Doubly'){
  return '用户名为'.$name;
});

参数为kit

没有参数

//字段验证,名字必须为字母
Route::get('name/{name?}',function ($name = 'Doubly'){
  return '用户名为'.$name;
})->where('name','[A-Za-z]+');

参数不为字母时

//多个参数,并且带有参数验证
Route::get('user/{id}/{name?}',function ($id,$name = 'Doubly'){
  return "ID为{$id}的用户名为{$name}";
})->where(['id'=>'\d+','name'=>'[A-Za-z]+']);


4.路由别名

//路由别名
Route::get('user/center',['as'=>'center',function(){
  return '路由别名:'.route('center');
}]);

使用别名的好处是什么呢?
当我们需要修改路由的时候,比如将user/center改成user/member-center的时候,我们代码中使用route('cneter')生成的URL是不需要修改的。

6.路由群组

//路由群组
Route::group(['prefix'=>'member'],function (){
  Route::get('basic1',function (){
    return '路由群组中的basic1';
  });

  Route::get('basic2',function (){
    return '路由群组中的basic2';
  });
});

通过laravel.test/member/basic2访问

7.路由中输出视图

//路由中输出视图
Route::get('view',function(){
  return view('welcome');
});

welcome.blade.php模板内容

<h1>这是路由中输出的视图</h1> 

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Laravel框架路由配置总结、设置技巧大全

    基本路由 您的应用程序的绝大多数路由将在 app/routes.php 文件中定义.Laravel 中最简单的路由由一个 URI 和一个闭包调用组成. 基本 GET 路由 复制代码 代码如下: Route::get('/', function() { return 'Hello World'; }); 基本 POST 路由 复制代码 代码如下: Route::post('foo/bar', function() { return 'Hello World'; }); 注册一个路由以响应所有 HT

  • Laravel框架路由设置与使用示例

    本文实例讲述了Laravel框架路由设置与使用.分享给大家供大家参考,具体如下: Laravel安装,这里使用一键安装包. 使用PHP内置的Web服务器,在PHP文件夹下运行命令行 php -S 0.0.0.0:1024 一.设置路由 路由文件在app\HTTP\routes.php,在代码中增加 Route::get('/hi', function () { return 'hello world'; }); 我们观察到,这份PHP文件里已经有 Route::get('/', function

  • Laravel 5框架学习之路由、控制器和视图简介

    查看 app/Http/routes.php 复制代码 代码如下: Route::get('/', 'WelcomeController@index'); @是一个界定符,前面是控制器,后面是动作,表示当用户请求url / 的时候,执行控制器 WelcomeController 中的 index 方法 复制代码 代码如下: app/http/controllers/welcomecontroller.php public function index() { return view('welco

  • Laravel框架路由和控制器的绑定操作方法

    本文实例讲述了Laravel框架路由和控制器的绑定操作方法.分享给大家供大家参考,具体如下: 路由和控制器的关系 路由文件地址在\app\Http\routes.php,我们来看两种不同的路由. Route::get('/', function () { return view('welcome'); }); Route::get('/hi', function () { return 'hello world'; }); 以上均为绑定匿名函数的路由,虽然可以返回视图,也可以返回字符串,但本质都

  • laravel中命名路由的使用方法

    laravel提供了很多magic方法来,先来讲讲命名路由的使用,有两种方法非常便捷. 命名路由让你可以更方便的为特定路由生成 URL 或进行重定向.你可以使用 as 数组键指定名称到路由上 1.第一种:通过route路由中的as关键字来实现 Route::get('api/user',['as'='web.user'],'messageController@userInformation'); 2.第二种:通过Route的magic方法name来实现命名路由 Route::get('api/u

  • Laravel 4 初级教程之视图、命名空间、路由

    1. 视图分离与嵌套 在 learnlaravel 文件夹下运行命令: php artisan generate:view admin._layouts.default 这时候generator插件帮我们创建了app/views/admin/_layouts/default.blade.php 文件,将内容修改为: <!doctype html><html><head>  <meta charset="utf-8">  <title

  • Laravel中重写资源路由自定义URL的实现方法

    前言 本文主要给大家介绍了关于Laravel中重写资源路由自定义URL的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 重写原因 近期在使用Laravel开发项目过程中,为了简化路由代码使用了Laravel的资源路由,Route::resource('photo', 'PhotoController'); 在默认情况下,Laravel生成的路由表如下: 动作 路径 Action 路由名称 GET /photo index photo.index GET /photo/c

  • Laravel路由设定和子路由设定实例分析

    本文实例讲述了Laravel路由设定和子路由设定方法.分享给大家供大家参考,具体如下: 普通路由设定 1.路由(routes.php)代码: Route::get('min','MinController@index'); min:为路由名称,即url中输入的,如127.0.0.1/min  这里的min就是上面对应的min MinController为文件名(类名) @index为方法名 2.控制器 namespace App\Http\Controllers; use App\Http\Co

  • Laravel最佳分割路由文件(routes.php)的方式

    前言 Laravel 的路由功能很强大,默认都是定义在 routes.php 文件中,随着项目越来越大,我们需要的定义的路由越来越多,想象一下,如果几百上千个路由都定义在一个文件中,如何去维护?也许还有不同的人都在同一个文件定义路由,这就造成了冲突,因此我们需要分割 routes.php 文件. 下面介绍一种很优雅的方式. 在 app/Providers/RouteServiceProvider.php 的 map 方法中可以如下定义: public function map(Router $r

  • Laravel中获取路由参数Route Parameters的五种方法示例

    前言 大家都知道Laravel 获取路由参数的方式有很多,并且有个小坑,现汇总如下,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 假设我们设置了一个路由参数: /** * 定义路由参数名称分别为: param1,param2 */ Route::get('/{param1}/{param2}', 'TestController@index'); 现在我们访问 http://test.dev/1/2 在 TestController 中: /** * 路由参数获取方法 * *

随机推荐