[TOC]
### 組件說明
> Lying內置了請求組件,其實就是一些獲取請求參數的函數封裝。
### 配置選項
| 配置名 | 參數類型 | 可選 | 默認值 | 說明 |
| --- | --- | --- | --- | --- |
| class | string | 是 | lying\service\Request | 不可更改 |
### 示例配置
Request組件暫時不需要配置,可直接使用
### 調用方式
~~~php
\Lying::$maker->get('request');
\Lying::$maker->request();
\Lying::$maker->request;
~~~
### 方法列表
~~~php
$request = \Lying::$maker->request();
$request->resolve(); //獲取當前請求的路由
$request->get($name = null, $defaultValue = null); //返回GET參數,如果不設置$name,則返回整個GET數組
$request->post($name = null, $defaultValue = null); //返回POST參數,如果不設置$name,則返回整個POST數組
$request->file($name = null); //獲取上傳的文件
$request->method(); //返回請求方法,如:GET/POST/HEAD/PUT/PATCH/DELETE/OPTIONS/TRACE
$request->isGet(); //是否為GET請求
$request->isPost(); //是否為POST請求
$request->isAjax(); //是否為AJAX請求
$request->isPjax(); //是否為PJAX請求
$request->rawBody(); //返回請求的原始數據php://input
$request->isHttps(); //是否為HTTPS請求
$request->isCli(); //判斷是否在CLI模式下運行
$request->getArgv($offect = null, $defaultValue = null); //獲取CLI下的參數,不填寫返回所有參數數組
$request->getArgc(); //令行模式下傳遞給該腳本的參數的數目
$request->serverPort(); //返回服務器端口
$request->serverIP(); //返回服務器IP
$request->host($schema = false); //返回HOST
$request->queryString(); //返回查詢字符串
$request->uri(); //返回REQUEST_URI:/index.php?a=1形式的字符串
$request->userAgent(); //返回請求的UA
$request->userIP(); //返回客戶端真實IP,失敗返回空字符串
$request->userPort(); //返回客戶端端口
$request->time($millisecond = false); //返回請求開始時間
$request->getHeader($header = null); //獲取請求header
$request->getCsrfToken(); //獲取csrfToken
$request->validateCsrfToken($csrfToken = null); //校驗csrfToken
~~~
### 其他說明
* get/post/file支持讀取多維數組
~~~php
$request->get('user.name'); //$_GET['user']['name']
$request->post('user.info.sex'); //$_POST['user']['info']['sex']
$request->file('file.license');
~~~
### 文件上傳
```php
$file = $request->file('file');
if (is_array($file)) {
foreach($file as $f) {
//獲取其他信息,同else if操作
$f->move('/data/uploads', 'abc.jpg'); //移動上傳的文件并重命名
}
} else if ($file) {
$file->getClientName(); //獲取客戶端文件名
$file->getClientMimeType(); //獲取客戶端文件的MIME類型;此MIME類型在PHP端并不檢查,因此不要想當然認為有這個值
$file->getClientSize(); //獲取已上傳文件的大小,單位為字節
$file->getClientExtension(); //獲取客戶端文件擴展名
$file->getClientFilename(); //獲取客戶端文件文件名(不包含后綴)
$file->getMimeType(); //根據文件內容獲取mime類型
$file->getMd5(); //獲取文件的MD5
$file->getSha1(); //獲取文件的sha1
$file->isImage(); //判斷文件是否為圖片類型
$file->isValid(); //返回是否是合法的上傳文件
$file->getError(); //獲取錯誤信息(move失敗后)
$file->getRealPath(); //獲取文件的絕對路徑
$file->move('/data/uploads'); //移動上傳的文件到指定目錄
}
```
> 文件move成功返回圖片的絕對路徑,失敗返回false
- 序言
- 更新日志
- 安裝
- 規范
- 常量
- 配置
- 自動加載
- MVC
- 模塊
- 控制器
- 模型
- 視圖
- php原生模板
- 模板引擎
- 變量輸出
- 模板注釋
- 模板繼承
- 模板引用
- 流程控制
- 原樣輸出
- 服務組件
- Hook組件
- Request組件
- Router組件
- Cookie組件
- Encrypter組件
- Dispatch組件
- Response組件
- View組件
- Session組件
- Helper組件
- 數據分頁
- 數據驗證
- Logger組件
- Cache組件
- Redis組件
- Connection組件
- 執行sql語句
- 查詢生成器
- 查詢方法詳解
- Schema
- Captcha組件
- CLI
- CLI工具
- 事件
- 類事件
- 實例事件
- 全局事件
- 助手函數
- 擴展
- 異常
- 部署
- Apache
- Nginx
- IIS
- 虛擬主機