# 請求處理
## 接收輸入
Blink 中?`\blink\http\Request`?承載了所有的用戶輸入,我們可以方便的獲取請求頭、URL參數、請求數據等信息:
~~~
use \bink\core\Object;
use \bink\http\Request;
class Controller extends Object
{
public function index(Request $request)
{
$type = $request->params->get('type'); // 獲取 Query 參數 type
$params = $request->params->all(); // 獲取所有 Query 參數
$name = $request->body->get('name'); // 獲取 Request Body 的 name 參數
$body = $request->body->all(); // 獲取整個 Request Body
}
}
~~~
更多有用的方法請參考?`\blink\http\Request`?的[源代碼及注釋](https://github.com/bixuehujin/blink/blob/master/src/http/Request.php)。
## 返回數據
Blink 中,Action 方法可以直接返回數據給客戶端,支持返回字符串和數組類型:
~~~
use \bink\core\Object;
use \bink\http\Request;
class Controller extends Object
{
public function action1()
{
return 'this is a string'; // 直接返回字符串,原樣輸出到客戶端。
}
public function action2()
{
return [
'name' => 'foo' // 返回數組,json_encode 后輸出到客戶端
]
}
}
~~~
另外,Request 和 Response 的中間件架構也在計劃中,未來會提供更多的方式來對輸入輸出的數據進行格式化。