当前位置: 首页 > 编程笔记 >

laravel5.1框架基础之路由详解

严俊彦
2023-03-14
本文向大家介绍laravel5.1框架基础之路由详解,包括了laravel5.1框架基础之路由详解的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了laravel5.1框架基础之路由。分享给大家供大家参考,具体如下:

我在学习Laravel5.1,虽然刚刚开始,认识很浅,但还是需要做做归纳,清晰认识
建议大家到laravel学院学习laravel

1、路由(app/routes.php)

  • 在routes.php中进行路由设置,;
  • 作为访问的统一入口,是控制器的统一调度;
  • 没有配置路由,就没有正确地访问路径;
  • 路由需要自己规定一定的规则,方便自己查看、使用、理解;

2、路由基本类型及使用示例

  • get
Route::get('articles','ArticleController@index');

Route::get('db',function(){
  $name = DB::connection()->getDatabaseName();
  echo $name;
});

  • post
Route::post('article/update','ArticleController@update');

  • match

匹配[]中的请求方式

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

  • any

匹配所有请求方式

Route::any('/hello',function(){
  return "any";
});

3、从路由获取参数

  • 必用参数
Route::get('/blog/{name}',function($name){
  return $name; // 返回name显示
});

即除了 /blog/{name}的路由类型,都不能进来

  • 可选参数
Route::get('/blog/{name?}',function($name = 'name'){
  return $name; // 返回name显示,如果没设置就取默认值
});

即设置了默认值,路由中加了 ? 未输入参数则使用默认值

  • 正则参数

正则可以更灵活些,匹配更多需求。

Route::get('/blog/{id?}',function($id="1"){
  return "{$id}";//输出blog的ID,
})->where('name','^\d+$');//正则匹配为只能是数字,不然将无法找到路由;

  • 参数全局约束

在app/Providers/RouteServiceProvider的boot(Router $router)方法作如下修改:

html" target="_blank">public function boot(Router $router)
{
  $router->pattern('id','^\d+$');
  parent::boot($router);//将id全局限制为数字
}

boot()方法在每个服务提供者(Providers)类中都有用到,将再Providers启动方法执行后执行

可以通过boot()方法对Providers实现依赖注入

4、路由还可以做

给路由起个别名或者分个组
防CSRF攻击
Restful风格路由
详细内容

X、 app/routes.php 注释翻译(拙劣练习)

自从开始接触laravel和github发现,越来越难以逃避自己拙劣的英语,我该开始不再畏惧,好好面对,所以开始将laravel源码中出现的英文注释逐步进行翻译,待自己的对框架熟悉时候,再添加自己的中文注释,来强化自己的认识。

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
/*
|--------------------------------------------------------------------------
| 应用路由
|--------------------------------------------------------------------------
|
| 你可以很轻松地在这里注册所有的路由。
| 简单地告诉laravel,当特定地址被请求的时候,访问对应的控制器,使地址得到响应。
|
*/

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

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

 类似资料:
  • 本文向大家介绍Laravel5.1 框架路由基础详解,包括了Laravel5.1 框架路由基础详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel5.1 框架路由基础。分享给大家供大家参考,具体如下: 什么是路由? 大K简单的说下,路由是用户访问我们程序的一个入口,比方说 你在浏览器输入:www.myblogs.com/create 就会打开一个页面,我们接收到这一个请求后后

  • 本文向大家介绍Laravel5.1框架路由分组用法实例分析,包括了Laravel5.1框架路由分组用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel5.1框架路由分组用法。分享给大家供大家参考,具体如下: 路由分组有啥好处? 有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中。 1 路由分组

  • 主要内容:基础类的功能如果您参考Apple文档,应该会看到框架的详细信息,如下所示。 框架定义了Objective-C类的基础层。 除了提供一组有用的原始对象类之外,它还引入了几个定义Objective-C语言未涵盖的功能的范例。 框架的设计考虑了这些目标 - 提供一小组基本实用程序类。 通过为解除分配等事项引入一致的约定,使软件开发更容易。 支持Unicode字符串,对象持久性和对象分发。 提供一定程度的操作系统独立

  • Routing refers to determining how an application responds to a client request to a particular endpoint, which is a URI (or path) and a specific HTTP request method (GET, POST, and so on). Each route c

  • 本文向大家介绍Laravel框架路由与MVC实例详解,包括了Laravel框架路由与MVC实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel框架路由与MVC。分享给大家供大家参考,具体如下: 1、路由 路由的作用就是将用户的不同url请求转发给相应的程序进行处理,laravel的路由定义在routes文件夹中,默认提供了四个路由文件,其中web.php文件定义基本页面请

  • 本文向大家介绍零基础学习AJAX之AJAX框架,包括了零基础学习AJAX之AJAX框架的使用技巧和注意事项,需要的朋友参考一下 上文(零基础学习AJAX之AJAX的简介和基础)对ajax异步请求服务器做了详细的介绍和基础应用,可以看出,ajax的一些过程是相对不变的。不必要每次发送请求都写一遍发送代码,一些ajax开发人员已经把他们的过程封装成ajax框架。 本节主要介绍ajaxLib和ajaxG

  • 本文向大家介绍asp.net-mvc 路由基础,包括了asp.net-mvc 路由基础的使用技巧和注意事项,需要的朋友参考一下 示例 当您yourSite/Home/Index通过浏览器请求url时,路由模块会将请求定向到class的Indexaction方法HomeController。如何知道将请求发送到此特定类的特定方法?出现了RouteTable。 每个应用程序都有一个路由表,在其中存储路

  • 路由配置是一组指令,用来告诉 router 如何匹配 URL以及匹配后如何执行代码。我们来通过一个简单的例子解释一下如何编写路由配置。 import React from 'react' import { render } from 'react-dom' import { Router, Route, Link } from 'react-router' const App = React.cr