『壹』 laravel request 类里 get方法和input的方法的区别
同样一个post请求,以抄form-data的形式传送一个数据'title'的时候,get('title')和input('title')都可以取到。
但是以json的形式传送的时候,get('title')得到的是null,而input('title')却可以正确的取到值。
对于get请求,get和input方法都可以取到相同的值。
get和input的方法的实现类其实并不一样。
get在:
Symfony\Component\HttpFoundation
input在:
Illuminate\Http
官方推荐使用input
『贰』 Laravel 单元测试中怎样运行 Request
这个测试好奇怪..
如果你真要获取错误消息的话,可以使用 Session::get 。因为校验失败后会 flash 存储 errors 对象到 session 中。
比如你的情况:
$response = $this->call(...);
$this->assertEquals(302, $response->getStatusCode());
dd(session('errors')->getBag('default')->first('a'));
getBag获取的是一个 MessageBag 对象,可以用 get 取得所有校验错误消息,或者用 first 取得第一条错误信息。 API 文档见:http://laravel-china.org/api/...
--- 更新
一般像这种测试至少要分两部分:
首先测试 validation 校验部分,使用 Validator,例如
$data = ['a' => 'b'];
$request = new MyRequest();
$rules = $request->rules();
$validator = Validator::make($attributes, $rules);
$fails = $validator->fails();
$this->assertEquals(false, $fails);
然后再写测试方法测后面的逻辑。
关于 Laravel 里测试 request ,框架已经提供了很多方法来测试,可以看下 Illuminate\Foundation\Testing\Concerns\MakesHttpRequests, 这个基本已经涵盖了所有关于 request 和 response 的测试。其他部分就用别的方法测,比如测用户认证的,测cookie session的,测数据库的,测队列的等等。
『叁』 laravel 怎么给$request添加数据
Laravel怎样直接用模型来方法创建源一个对象另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。
『肆』 laravel 怎么给$request添加数据
我和你有过一样的想法。就是扩展请求类,来验证请求和补充请求(里面专的数据)。
但是属实践过程中发现,Laravel设计的就是请求实例是没法被改变的。即使强行实现,也会有一些不可解决的问题。
所以,还是用仓库模式来补充数据吧。不要把补充数据这步操作放在请求类里面了。
『伍』 laravel 怎么给$request添加数据
我和你有过一样的想法。就是扩展请求类,来验证请求和补充请求(里面的数据)。
但是实践过程中发现,Laravel设计的就是请求实例是没法被改变的。即使强行实现,也会有一些不可解决的问题。
所以,还是用仓库模式来补充数据吧。不要把补充数据这步操作放在请求类里面了。
『陆』 laravel 使用Request 验证form表单
$this->validate($request,[ '验证的表单名称(例如name)' => '验证规则', ],[],[ '验证的表单名称(例如name)' => '你想改成的中文(例如 姓名)' ])
『柒』 Laravel中request:input 与input:get 有什么区别
区别与应用: Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。
『捌』 laravel 怎么给$request添加数据
Laravel怎样直接用模型方法创建一个对象另外,现实世界中任何实体都可归属于某类事物,
『玖』 laravel怎么得到request对象
你的 $request 是从服务容器里取出来的吧?那你可以直接使用 Container 的 forgetInstance 或 setInstance 方法来重新绑定 Request 实例至内容器,详情请参照:Laravel API
至于如容何创建 Request 对象,可以使用 Illuminate\Http\Request::capture() 方法。
『拾』 laravel 怎么重置request 对象
Laravel怎样来直接用模型方法创建一自个对象另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。