Laravel请求和输入

来源:互联网 发布:振华重工 知乎 编辑:程序博客网 时间:2024/05/23 23:13
<ol class="linenums"><li class="L0"><span class="com">//获取输入数据,不用担心所使用的HTTP方法</span></li><li class="L1"><span class="pln">$id </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'id'</span><span class="pun">);</span></li><li class="L2"><span class="pln"> </span></li><li class="L3"><span class="com">//可以指定默认值</span></li><li class="L4"><span class="pln">$id </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'id'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span></li><li class="L5"><span class="pln"> </span></li><li class="L6"><span class="com">//检测提交信息是否存在</span></li><li class="L7"><span class="kwd">if</span><span class="pun">(</span><span class="typ">Input</span><span class="pun">::</span><span class="pln">has</span><span class="pun">(</span><span class="str">'id'</span><span class="pun">))</span></li><li class="L8"><span class="pun">{</span></li><li class="L9"><span class="pln">    echo </span><span class="typ">Input</span><span class="pun">::</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'id'</span><span class="pun">);</span></li><li class="L0"><span class="pun">}</span></li><li class="L1"><span class="pln"> </span></li><li class="L2"><span class="com">//获取提交的所哟信息</span></li><li class="L3"><span class="pln">print_r</span><span class="pun">(</span><span class="typ">Input</span><span class="pun">::</span><span class="pln">all</span><span class="pun">());</span></li><li class="L4"><span class="pln"> </span></li><li class="L5"><span class="com">//获取指定的几个提交信息</span></li><li class="L6"><span class="pln">print_r</span><span class="pun">(</span><span class="typ">Input</span><span class="pun">::</span><span class="pln">only</span><span class="pun">(</span><span class="str">'id'</span><span class="pun">));</span></li><li class="L7"><span class="pln"> </span></li><li class="L8"><span class="com">//获取排除执行信息外的信息</span></li><li class="L9"><span class="pln">print_r</span><span class="pun">(</span><span class="typ">Input</span><span class="pun">::</span><span class="kwd">except</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">));</span></li><li class="L0"><span class="pln"> </span></li><li class="L1"><span class="com">//用点符号获取数组形式的输入信息</span></li><li class="L2"><span class="pln">$input </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'users.0.name'</span><span class="pun">);</span></li></ol>

Cookie信息:
所有cookie值都本laravel加密,擅自修改cookie将会被废弃;
<ol class="linenums"><li class="L0"><span class="com">//获取一个cookie的值</span></li><li class="L1"><span class="pln">$value </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Cookie</span><span class="pun">::</span><span class="kwd">get</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">);</span></li><li class="L2"><span class="pln"> </span></li><li class="L3"><span class="com">//给响应添加新的cookie</span></li><li class="L4"><span class="pln">$response </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Response</span><span class="pun">::</span><span class="pln">make</span><span class="pun">(</span><span class="str">'Hello World'</span><span class="pun">);</span></li><li class="L5"><span class="pln">$response</span><span class="pun">-></span><span class="pln">withCookie</span><span class="pun">(</span><span class="typ">Cookie</span><span class="pun">::</span><span class="pln">make</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'value'</span><span class="pun">,</span><span class="pln"> $minutes</span><span class="pun">));</span></li><li class="L6"><span class="pln"> </span></li><li class="L7"><span class="com">//在响应之前添加到cookie队列,会被框架自动加到最终的响应中</span></li><li class="L8"><span class="typ">Cookie</span><span class="pun">::</span><span class="pln">queue</span><span class="pun">(</span><span class="pln">$name</span><span class="pun">,</span><span class="pln"> $value</span><span class="pun">,</span><span class="pln"> $minutes</span><span class="pun">);</span></li><li class="L9"><span class="pln"> </span></li><li class="L0"><span class="com">//创建永不失效的cookie</span></li><li class="L1"><span class="pln">$cookie </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Cookie</span><span class="pun">::</span><span class="pln">forever</span><span class="pun">(</span><span class="str">'name'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'value'</span><span class="pun">);</span></li></ol>

提交信息持久化,有时候会将一个请求中的信息持续到下一个请求中仍然有效。
<ol class="linenums"><li class="L0"><span class="com">//将用户提交的信息存入Session</span></li><li class="L1"><span class="typ">Input</span><span class="pun">::</span><span class="pln">flash</span><span class="pun">();</span></li><li class="L2"><span class="pln"> </span></li><li class="L3"><span class="com">//指定信息放session</span></li><li class="L4"><span class="typ">Input</span><span class="pun">::</span><span class="pln">flashOnly</span><span class="pun">(</span><span class="str">'username'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'email'</span><span class="pun">);</span></li><li class="L5"><span class="typ">Input</span><span class="pun">::</span><span class="pln">flashExcept</span><span class="pun">(</span><span class="str">'password'</span><span class="pun">);</span></li><li class="L6"><span class="pln"> </span></li><li class="L7"><span class="com">//跳到前一个页面,带上输入信息</span></li><li class="L8"><span class="kwd">return</span><span class="pln"> </span><span class="typ">Redirect</span><span class="pun">::</span><span class="pln">to</span><span class="pun">(</span><span class="str">'form'</span><span class="pun">)-></span><span class="pln">withInput</span><span class="pun">();</span></li><li class="L9"><span class="kwd">return</span><span class="pln"> </span><span class="typ">Redirect</span><span class="pun">::</span><span class="pln">to</span><span class="pun">(</span><span class="str">'form'</span><span class="pun">)-></span><span class="pln">withInput</span><span class="pun">(</span><span class="typ">Input</span><span class="pun">::</span><span class="kwd">except</span><span class="pun">(</span><span class="str">'password'</span><span class="pun">));</span></li><li class="L0"><span class="pln"> </span></li><li class="L1"><span class="pln"> </span></li><li class="L2"><span class="com">//获取持久化的信息</span></li><li class="L3"><span class="typ">Input</span><span class="pun">::</span><span class="pln">old</span><span class="pun">(</span><span class="str">'username'</span><span class="pun">);</span></li></ol>

文件上传处理:
<ol class="linenums"><li class="L0"><span class="com">//取得上传文件</span></li><li class="L1"><span class="pln">$file </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">);</span></li><li class="L2"><span class="pln"> </span></li><li class="L3"><span class="com">//判断有没有上传文件:</span></li><li class="L4"><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Input</span><span class="pun">::</span><span class="pln">hasFile</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">))</span></li><li class="L5"><span class="pun">{</span></li><li class="L6"><span class="com">//</span></li><li class="L7"><span class="pun">}</span></li><li class="L8"><span class="pln"> </span></li><li class="L9"><span class="com">//移动上传的文件:</span></li><li class="L0"><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">)-></span><span class="pln">move</span><span class="pun">(</span><span class="pln">$destinationPath</span><span class="pun">);</span></li><li class="L1"><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">)-></span><span class="pln">move</span><span class="pun">(</span><span class="pln">$destinationPath</span><span class="pun">,</span><span class="pln"> $fileName</span><span class="pun">);</span></li><li class="L2"><span class="pln"> </span></li><li class="L3"><span class="com">//取得上传文件的路径:</span></li><li class="L4"><span class="pln">$path </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">)-></span><span class="pln">getRealPath</span><span class="pun">();</span></li><li class="L5"><span class="pln"> </span></li><li class="L6"><span class="com">//取得上传文件的原始文件名:</span></li><li class="L7"><span class="pln">$name </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">)-></span><span class="pln">getClientOriginalName</span><span class="pun">();</span></li><li class="L8"><span class="pln"> </span></li><li class="L9"><span class="com">//取得上传文件的扩展名:</span></li><li class="L0"><span class="pln">$extension </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">)-></span><span class="pln">getClientOriginalExtension</span><span class="pun">();</span></li><li class="L1"><span class="pln"> </span></li><li class="L2"><span class="com">//取得上传文件的大小:</span></li><li class="L3"><span class="pln">$size </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">)-></span><span class="pln">getSize</span><span class="pun">();</span></li><li class="L4"><span class="pln"> </span></li><li class="L5"><span class="com">//取得上传文件的MIME类型:</span></li><li class="L6"><span class="pln">$mime </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Input</span><span class="pun">::</span><span class="pln">file</span><span class="pun">(</span><span class="str">'photo'</span><span class="pun">)-></span><span class="pln">getMimeType</span><span class="pun">();</span></li></ol>

获取更多请求详细信息:
<ol class="linenums"><li class="L0"><span class="com">//获取请求URI</span></li><li class="L1"><span class="pln">echo </span><span class="typ">Request</span><span class="pun">::</span><span class="pln">path</span><span class="pun">();</span></li><li class="L2"><span class="pln"> </span></li><li class="L3"><span class="com">//判断请求路径是否符合指定模式</span></li><li class="L4"><span class="kwd">if</span><span class="pun">(</span><span class="typ">Request</span><span class="pun">::</span><span class="kwd">is</span><span class="pun">(</span><span class="str">'example/*'</span><span class="pun">))</span></li><li class="L5"><span class="pun">{</span></li><li class="L6"><span class="pln">    echo </span><span class="str">'yes'</span><span class="pun">;</span></li><li class="L7"><span class="pun">}</span></li><li class="L8"><span class="pln"> </span></li><li class="L9"><span class="com">//获取请求url</span></li><li class="L0"><span class="pln">echo </span><span class="typ">Request</span><span class="pun">::</span><span class="pln">url</span><span class="pun">();</span></li><li class="L1"><span class="pln"> </span></li><li class="L2"><span class="com">//获取请求URI指定段的信息</span></li><li class="L3"><span class="pln">echo </span><span class="typ">Request</span><span class="pun">::</span><span class="pln">segment</span><span class="pun">(</span><span class="lit">1</span><span class="pun">);</span></li><li class="L4"><span class="pln"> </span></li><li class="L5"><span class="com">//获取指定请求头信息</span></li><li class="L6"><span class="pln">echo </span><span class="typ">Request</span><span class="pun">::</span><span class="pln">header</span><span class="pun">(</span><span class="str">'Content-Type'</span><span class="pun">);</span></li><li class="L7"><span class="pln"> </span></li><li class="L8"><span class="com">//获取$_SERVER中指定信息</span></li><li class="L9"><span class="pln">print_r</span><span class="pun">(</span><span class="typ">Request</span><span class="pun">::</span><span class="pln">server</span><span class="pun">(</span><span class="str">'SERVER_ADDR'</span><span class="pun">));</span></li><li class="L0"><span class="pln"> </span></li><li class="L1"><span class="com">//判断是否是ajax请求</span></li><li class="L2"><span class="kwd">if</span><span class="pun">(</span><span class="typ">Request</span><span class="pun">::</span><span class="pln">ajax</span><span class="pun">())</span></li><li class="L3"><span class="pun">{</span></li><li class="L4"><span class="pln">    echo </span><span class="str">"is ajax request"</span><span class="pun">;</span></li><li class="L5"><span class="pun">}</span></li><li class="L6"><span class="pln"> </span></li><li class="L7"><span class="com">//判断是否是https连接</span></li><li class="L8"><span class="kwd">if</span><span class="pun">(</span><span class="typ">Request</span><span class="pun">::</span><span class="pln">secure</span><span class="pun">())</span></li><li class="L9"><span class="pun">{</span></li><li class="L0"><span class="pln">    echo </span><span class="str">"is https"</span><span class="pun">;</span></li><li class="L1"><span class="pun">}</span></li><li class="L2"><span class="pln"> </span></li><li class="L3"><span class="com">//获取请求响应的格式</span></li><li class="L4"><span class="pln">echo </span><span class="typ">Request</span><span class="pun">::</span><span class="pln">format</span><span class="pun">();</span><span style="font-family:Verdana,Arial,Helvetica,sans-serif;color:#000000;background-color:#ffffff"><span class="pln"> </span></span></li></ol>
0 0