多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[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