『壹』 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怎樣來直接用模型方法創建一自個對象另外,現實世界中任何實體都可歸屬於某類事物,任何對象都是某一類事物的實例。如果說傳統的面向過程式編程語言是以過程為中心以演算法為驅動的話,面向對象的編程語言則是以對象為中心以消息為驅動。用公式表示,過程式編程語言為:程序=演算法+數據;面向對象編程語言為:程序=對象+消息。