首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel 开发 RESTful API 的一些心得

laravel用的是划线(-),因为谷歌收录时,按划线划分关键字,国内的是按下划线(_)收录,具体看自己了,我是喜欢下划线 >_< 更多看这里: 路由命名规范 表单验证 可以使用控制器自带的表单验证...Resources 集合的使用Resources::collection()发现,特别好用 >_< 不得不说,多对多关联时,Laravel处理得太好了条件关联 Resources 在上面这个例子...// 未捕获之前的写法 public function show($id) { $user = User::find($id); if (!...($id); } // 甚至这样 public function show(User $user) { // do something } 下面这两个异常可以不捕获,只是方便开发查看错误消息...要修改图中箭头所示成为api.json的位置 swagger 访问edit.html可以书写文档 编写语法 访问index.html可以查看文档 在edit.html写好之后,导出json,然后粘贴到

30810
您找到你想要的搜索结果了吗?
是的
没有找到

Laravel系列3.2】路由:指哪儿打哪儿

路由:指哪儿打哪儿 在没有接触到 Laravel 之前,早先的框架基本上都没有这个完整的路由的概念。像是 TP3 、Yii1 版本的时候,都是通过入口文件对参数的解析来加载指定的 控制器 。...而在 Laravel 我开始接触的时候,就使用的是自定义路由的方式来指定请求的路径。其实,传统方式可以看做是一种隐式路由,而我们需要写的这种是一种显式的路由。...如果是传统框架没有加任何判断的情况下,也是可以直接请求到控制器的,只是说我们 _POST 无法获取数据而已。...name 参数后面的冒号表明这个参数是一个可选的参数,而 where 则指定了参数的规则,比如 id 必须是数字,而 name 必须是小写的 a 到 z 。...$id; } } 然后在路由文件定义指向这个控制器路由

11.7K10

个人开发者使用laravel6通过payjs接入微信支付

由于我们只能借用第三方平台来实现,虽然多了些手续费,也是可接受的 我选择接入的第三方支付平台是 payJs,以下是关于如何在 laravel6 接入 payJs 的完整 demo 环境准备 先按以下文章创建一个...获取商户号 在 .env 配置商户号 PAYJS_MCHID=商户号 PAYJS_KEY=密钥 config/payjs.php 修改为: return [ 'mchid' => env('...up() { Schema::create('payments', function (Blueprint $table) { $table->bigIncrements('id...()->comment('付款时间'); $table->timestamps(); }); } 执行迁移生成数据表: $ php artisan migrate 将以下代码粘贴到...生成控制器: $ php artisan make:controller PaymentController 控制器包括以下逻辑 展示表单 用于展示前台页面,调起支付请求 public function

2K10

3分钟短文:Laravel的“南天门”,过滤掉七七八八的数据

引言 上一章我们教会大家如何用户表单内正确地获取数据,可是没有讲,获取到的数据到底有啥用,或者说,有的用户提交的数据压根儿就没正经填,那些错乱无效的数据,如果直接放到数据库,纯粹是对数据库的污染。...代码时间 获取数据的途径除了早前介绍的在路由地址内通过位置参数绑定的方式, 还有上一章介绍的表单提交的方式,还有一些比如在get请求内附加查询参数进行传送的, 不管形式是什么,我们需要将其统一口径,将其规划为规范的数据格式...是的,这是laravel框架写好了,如果验证失败,会使用 MessageBag 这些类来状态验证失败的信息,然后错误信息渲染到公共模板部分,使用 $errors 接收,这是一个对象,可以手动遍历输出。...>{{ $error }} @endforeach @endif 这都是通用的,贴到项目里就可以起作用的。...比如不想把验证代码的逻辑写到控制器里,你可以选择在路由的时候就进行验证,在路由文件内修改上述代码: Route::post('recipes', function (Illuminate\Http\Request

1.9K10

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

) 在routes.php中进行路由设置,; 作为访问的统一入口,是控制器的统一调度; 没有配置路由,就没有正确地访问路径; 路由需要自己规定一定的规则,方便自己查看、使用、理解; 2、路由基本类型及使用示例...function(){ return "match"; }); any 匹配所有请求方式 Route::any('/hello',function(){ return "any"; }); 3、路由获取参数...未输入参数则使用默认值 正则参数 正则可以更灵活些,匹配更多需求。 Route::get('/blog/{id?}'...,function($id="1"){ return "{$id}";//输出blog的ID, })- where('name','^\d+$');//正则匹配为只能是数字,不然无法找到路由参数全局约束...| 简单地告诉laravel,当特定地址被请求的时候,访问对应的控制器,使地址得到响应。

1.3K30

3分钟短文:Laravel的“南天门”,过滤掉七七八八的数据

代码时间 获取数据的途径除了早前介绍的在路由地址内通过位置参数绑定的方式, 还有上一章介绍的表单提交的方式,还有一些比如在get请求内附加查询参数进行传送的, 不管形式是什么,我们需要将其统一口径,将其规划为规范的数据格式...validate 方法传入的第二个参数,是一个验证规则数组。...是的,这是laravel框架写好了,如果验证失败,会使用 MessageBag 这些类来状态验证失败的信息,然后错误信息渲染到公共模板部分,使用 $errors 接收,这是一个对象,可以手动遍历输出。...>{{ $error }} @endforeach @endif 这都是通用的,贴到项目里就可以起作用的。...比如不想把验证代码的逻辑写到控制器里,你可以选择在路由的时候就进行验证,在路由文件内修改上述代码: Route::post('recipes', function (Illuminate\Http\Request

1.1K00

Laravel 路由使用入门

而我们的 Laravel 入门到精通系列教程之旅也将从路由开始,在这篇真正意义上的开篇教程,我们学习如何定义路由,然后将其指向要执行的代码,并处理各种路由需求。...在本章,我们主要聚焦于 routes/web.php,关于 routes/api.php 将会在后面编写 API 章节重点介绍。...对于稍微复杂一些的业务逻辑,我们可以将其拆分到控制器方法实现,然后在定义路由的时候使用控制器+方法名来取代闭包函数: Route::get('/', 'WelcomeController@index'...); 这段代码的含义是针对 / 路由的 GET 请求传递给 App\Http\Controllers\WelcomeController 控制器的 index 方法进行处理。...$id; })->name('user.profile'); 前端视图模板可以通过辅助函数 route 并传入路由名称(如果有路由参数,则以数组方式作为第二个参数传入)来引用该路由: <a href

2.6K50

路由使用进阶(二)

隐式绑定 使用路由模型绑定最简单的方式就是路由参数命名为可以唯一标识对应资源模型的字符串(比如 task 而非 id),然后在闭包函数或控制器方法对该参数进行类型提示,此处参数名需要和路由中的参数名保持一致...{task},然后默认以参数值作为资源 ID 在底层通过 Eloquent 查询获取对应模型实例,并将结果传递到闭包函数或控制器方法。...路由模型绑定默认传入 {task} 参数值作为模型主键 ID 进行 Eloquent 查询,你也可以自定义查询字段,这可以通过在模型类重写 getRouteKeyName() 来实现: <?...,以后每次访问包含 {task_model} 参数路由时,路由解析器都会请求 URL 解析出模型 ID ,然后对应模型类 Task 获取相应的模型实例并传递给闭包函数或控制器方法: Route...4、路由缓存 使用路由缓存之前,需要知晓路由缓存只能用于控制器路由,不能用于闭包路由,如果路由定义包含闭包路由无法进行路由缓存,只有所有路由定义转化为控制器路由或资源路由后才能执行路由缓存命令:

8.5K40

通过 Request 对象实例获取用户请求数据

而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工具集,收集、验证、到过滤、编排,可谓是一应俱全,接下来,我们通过三四篇教程的篇幅来为你详细介绍如何在 Laravel...这个时候,我们需要显式地通过 获取路由参数值 除了 URL 查询字符串以及表单提交数据之外,你可能会忽视还有一种形式的输入参数,就是路由参数,我们一般显式将其作为控制器方法参数或者定义路由的匿名函数参数传入...作为定义路由的匿名函数参数之间已经见过很多了,这里我们来演示下作为控制器方法参数传入,以及如何通过 Request 对象实例获取。...首先改写 /form 路由定义如下: Route::post('form/{id}', 'RequestController@form'); 然后我们在对应控制器方法传入这个路由参数(要放到 $request...注入参数后面): public function form(Request $request, $id) { // ... } 这样,我们就可以在控制器方法中使用这个 id 参数了,它的值会随着路由参数值传递过来

19.7K30

Laravel系统3.3】控制器与表单验证

控制器与表单验证 在请求过程控制器往往是我们在做业务开发时绕不过的一环。 MVC 理论的成熟到现代化的开发过程控制器一直扮演着重要的角色。...之前在讲路由的时候也说过这个问题,但是在 Laravel ,实现了路由控制器的解耦,所以我们的控制器是可以随意定义并且命名的,直接通过路由来进行绑定。...action controller 参数接收 对于请求参数的接收来说,在控制器中和在路由的回调函数接收参数没有什么区别。...控制器的调用 对于路由控制器的调用,还记得上篇文章中学习过的 laravel/framework/src/Illuminate/Routing/Route.php 这个文件的 run() 方法吗?...方法进行参数和规则的匹配,并通过 addFailure() 方法匹配对应的提示消息信息,最后这些信息放在 messages 属性

8.6K20

Laravel路由研究之domain解决多域名问题的方法示例

/public; index index.php index.html index.htm; 域名分割为参数 Route::domain('{account}....) { // 可以在请求接收到被分割的参数,可能的使用场景:在单独路由中需要根据不同的域名处理不同的需求 dd($account, $webname, $suffix, $id);...关于路由中的Action在多域名下的说明 首先,我们需要知道Action决定了路由会绑定到哪个控制器,还有一点需要注意,路由中的Action属性,决定了辅助函数 route() 生成的url。...,控制器也一样,我们再看模板的form表单 <form method="POST" class="form-horizontal" action="{{ route('login') }}" ---...,结构清晰, domain不仅仅可以作为区分子域名来使用,也可以做参数分割,不同域名区分等 注意Laravel路由匹配顺序,希望大家能认真的做一遍,体验一下,做到心中有数 既然已经区分开域名,那么就可以绑定到不同的控制器

2.4K30

Laravel 控制器 MVC 模式聊起

4、依赖注入 正如前面介绍的 Input 门面一样,Laravel 的门面为 Laravel 代码库的大部分类提供了简单的接口调用,通过门面你可以轻松当前获取各种请求数据,比如用户输入、Session...在 Laravel 中所有的控制器方法(包括构造函数)都会在服务容器中进行解析,这意味着所有方法传入的可以被容器解析的接口/类型提示对应服务实现都会被自动注入,我们这个过程称之为依赖注入。...5、资源控制器 有时候在编写控制器时命名方法名称可能是最困难的,好在 Laravel 为常见的 REST/CRUD 控制器(在 Laravel 称之为「资源控制器」)提供了一套约定规则,并为此提供了相应的...Artisan 生成器和路由定义方法,方便我们一次为所有控制器方法定义路由。...() post.desc 删除单个文章 绑定资源服务器 通过上面的表格已经了解了 Laravel 对资源路由的命名约定,Laravel 还为我们提供了一个 Route::resource 方法用于一次注册包含上面列出的所有路由

11.2K51

Laravel的基本使用

[Laravel] Laravel的基本HTTP路由 使用Laravel的基本路由,实现get请求响应,找到文件app/Http/routes.php 调用Route的静态方法get(),实现get响应...,参数:string类型的路径,匿名函数function(){} 匿名函数内部,返回string数据 实现post,put,delete的请求,同上 实现get传递参数路由,调用Route的静态方法get...(),参数:路径,匿名函数 路径,大括号包裹参数名,不含$,例如:’/user/{id}’ 匿名函数,接收参数,例如:function($id){} [Laravel] Laraval的基本控制器 在app...::get("/index","Index\IndexController@index");, 注意命名空间部分,新建的控制器是在根命名空间下面,指定的时候添加自己新加的命名空间 [Laravel] Laravel...的基本视图 在目录resources/views/下面,创建index/index.php 在控制器中使用函数view()来调用模板,参数:文件路径(.分隔目录),数据 路由:routes.php <?

1.3K30

Laravel学习笔记(二)—— 路由,请求接收与转发

用于传递参数,比如www.test.com/artice/1,获取ID为1的文章 Laravel路由中,用一对{}来表示路由参数参数名称写入括号内。...然后可以通过$参数名的形式调用 Route::get('/{name}', function ($name) { return $name; });#参数返回 路由别名 为以后调用路由规则做准备...用括号 "as" => "name" 和 匿名函数包起来形成一个数组,这样就可以给路由添加一个别名了。...Route::get('/user/add', function () { return 'add'; }); 路由规则在项目开发的主要用法 这里控制器的可能有些超纲,控制器是下一章节的内容,...路由参数 2. 返回视图 3. 转到控制器 路由参数已经写过了,这里重点写一下转到控制器,开发中一般都是转到控制器,让控制器进行处理后返回视图和数据再输出至浏览器。

3K01

Laravel 框架控制器 Controller原理与用法实例分析

分享给大家供大家参考,具体如下: 一、控制器存在的意义 路由可以分发请求; 路由中还可以引入 html 页面; 我们可以在 route/web.php 搞定一切了; 但是如果把业务逻辑都写入到路由中...; 那路由庞大的难以维护; 于是控制器就有了很明显的存在价值; 把业务逻辑写在控制器路由只负责转发请求到指定的控制器即可; 二、创建控制器 我们可以直接使用 Laravel 内置的命令生成很多代码...接下来就需要在新创建的控制器写各种方法,但是,只要在刚刚的命令中加入一个参数就可以自动生成一些方法 php artisan make:controller ArticleController --resource...在上面生成的控制器方法 index 写入如下代码 ?...然后写一个路由绑定这个控制器方法,在 routes/web.php 添加如下代码 Route::get('article/index', 'ArticleController@index'); 打开链接

1K20

3分钟短文:可能是Laravel模板最直白的用法了,没有之一

引言 上一期我们通过分配路由地址,在url接收位置参数并传递给控制器方法, 并且在控制器内简单地打印输出接收的参数。...本期我们尝试着使用laravel的模板功能,把控制器内组装好的数据渲染到视图模板文件, 并做展示。...代码时间 我们把目光还暂时放在控制器的方法内,接着前一章的 EventsController@show 方法。 接收到路由传递的 $id 变量后,我们将其附加到视图渲染函数,并发送到模板文件。...说明路由,到控制器处理,到视图渲染,都已经正常地工作了。 laravel为什么说是最优雅的框架呢?...写在最后 本文通过多种方法对控制器内接收和组装的数据通过视图方法 view 函数 渲染到模板文件并展示,为了演示功能,我们使用的都是单个变量没有复杂结构的数据。

1.9K20

Laravel框架路由与MVC实例详解

本文实例讲述了Laravel框架路由与MVC。...分享给大家供大家参考,具体如下: 1、路由 路由的作用就是将用户的不同url请求转发给相应的程序进行处理,laravel路由定义在routes文件夹,默认提供了四个路由文件,其中web.php文件定义基本页面请求...必选参数:当以带参数的形式发送请求时,可以在路由中进行接收,用大括号参数括起,用/分割,例如: Route::get('req4/{name}/{age}', function ($name, $age..."; }); 以get请求时参数传递,结果如下: ? 可选参数:以上的参数是必须的,如果缺少某一个参数就会报错,如果希望某个参数是可选的,可以为它加一个?.../laravel52/public/home/comment 2、控制器 route路由只对请求进行分配跳转,具体的业务逻辑则需要由控制器来处理,控制器一般封装成为一个php类。

2.7K50

laravel 学习之路 路由视图初探

之前的例子,我们的业务逻辑都是在路由里实现,这对于简单的网站或 web 应用没什么问题,当我们需要扩大规模,程序变得复杂,分层的业务逻辑更为适合。这时候,我们就应该使用控制器。...了解 MVC 的都对控制器的作用有所了解,控制器是实现主要业务逻辑的。在其他框架,控制器一般就是一个类,laravel 也不例外,laravel 的控制其结构并没有什么特殊。 <?...laravel 路由路由器很像好比你家里只有一根网线网线上接着 wifi 路由器,多部手机和电脑就可以通过 wifi 上网了,路由器起到了一个分发的作用,大致是这样实现的 ?...,controller控制器比作多部手机设备变很好理解 配置路由 laravel 的每一个路由是需要手动定义的,Laravel控制器非常的干净,与其他类的耦合度相当的低。...另一个好消息是,定义控制器路由和普通路由有所差别,这个差别是在便利性上的,你很快感受到这种便利带给你的好处! 打开 routes/web.php 我们直接看代码 ?

1.4K10
领券