跟我学Laravel之请求与输入
本文主要讲解了Laravel框架中请求与输入的概念以及示例,非常的简单实用,需要的朋友可以参考下
基本输入
Laravel使用一种简单的方式来访问用户提交的信息。 你可以用统一的方式来访问用户提交的信息,而不用为用户提交信息的方式操心。
获取一个用户提交的值
复制代码 代码如下:
$name = Input::get('name');
为用户提交信息指定一个的默认返回值(如果用户未提交)
复制代码 代码如下:
$name = Input::get('name', 'Sally');
判断指定的提交信息是否存在
复制代码 代码如下:
if (Input::has('name'))
{
//
}
获取所有用户提交的信息
复制代码 代码如下:
$input = Input::all();
获取指定的信息,或者获取排除指定几个提交项之外的所有提交信息
复制代码 代码如下:
$input = Input::only('username', 'password');
$input = Input::except('credit_card');
如果提交的表单含有 "数组" 形式的输入,可以使用点符号访问数组:
复制代码 代码如下:
$input = Input::get('products.0.name');
注意: 有一些javascript库,比如 Backbone 会以json格式提交信息。 通过 Input::get 来获取信息,使用上无差别。
Cookies
Laravel会加密所有已创建的cookie信息,并附加上授权码,当客户端擅自修改cookie信息时,该cookie将被废弃,,从而保证安全性。
获取一个指定的cookie值
复制代码 代码如下:
$value = Cookie::get('name');
添加一个新的cookie键值对
复制代码 代码如下:
$response = Response::make('Hello World');
$response->withCookie(Cookie::make('name', 'value', $minutes));
加入下一个Response的Cookie队列之中
如果想在Response创建之前设置cookie,可以使用 Cookie::queue() 方法。cookie将通过应用框架自动添加到最终的Response之中。
复制代码 代码如下:
Cookie::queue($name, $value, $minutes);
创建一个永不过期的cookie键值对
复制代码 代码如下:
$cookie = Cookie::forever('name', 'value');
用户提交信息持久化
有时可能需要在用户的多个请求之间持久化用户提交的信息。 比如,当用户提交的信息验证失败重新返回提交信息页面时还原用户的输入。
将用户提交的信息存入Session
复制代码 代码如下:
Input::flash();
把指定的用户提交的信息存入Session
复制代码 代码如下:
Input::flashOnly('username', 'email');
Input::flashExcept('password');
如果你需要关联持久用户提交的信息的操作和重定向操作,可以使用如下的链式调用的方法:
复制代码 代码如下:
return Redirect::to('form')->withInput();
return Redirect::to('form')->withInput(Input::except('password'));
注意: 如果你想持久化其它的信息,请参考 Session 类.
获取已持久化的用户提交的信息
复制代码 代码如下:
Input::old('username');
文件上传
获取用户上传的文件
复制代码 代码如下:
$file = Input::file('photo');
判断指定文件是否已经被上传
复制代码 代码如下:
if (Input::hasFile('photo'))
{
//
}
file 方法返回了一个 Symfony\Component\HttpFoundation\File\UploadedFile 类的实例, 该类继承自PHP的 SplFileInfo 类,并提供了大量操作该用户上传的文件的方法。
移动一个已上传的文件
复制代码 代码如下:
Input::file('photo')->move($destinationPath);
Input::file('photo')->move($destinationPath, $fileName);
获取一个已上传的文件在服务器的真实路径
复制代码 代码如下:
$path = Input::file('photo')->getRealPath();
获取一个已上传的文件的大小
复制代码 代码如下:
$size = Input::file('photo')->getSize();
获取一个已上传的文件的 MIME 类型
复制代码 代码如下:
$mime = Input::file('photo')->getMimeType();
用户请求的详细信息
Request 类提供了许多 方法 用于获取关于请求的详细信息,该类继承自 Symfony\Component\HttpFoundation\Request 类。 下面提供了几个具有代表性的方法:
获取请求URI
$uri = Request::path();
判断请求路径是否符合指定模式
复制代码 代码如下:
if (Request::is('admin/*'))
{
//
}
获取请求URL
$url = Request::url();
获取请求URI信息
$segment = Request::segment(1);
获取请求头里的Content-Type信息
$value = Request::header('Content-Type');
获取 $_SERVER 数组里指定的值
$value = Request::server('PATH_INFO');
判断是否是使用ajax请求
复制代码 代码如下:
if (Request::ajax())
{
//
}
判断请求是否使用https连接
复制代码 代码如下:
if (Request::secure())
{
//
}
检测请求的响应格式
Request::format 方法基于 HTTP 请求头的 Accept 信息返回客户端希望获取的响应格式:
复制代码 代码如下:
if (Request::format() == 'json')
{
//
}

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Laravel郵件發送失敗時的退信代碼獲取方法在使用Laravel開發應用時,經常會遇到需要發送驗證碼的情況。而在實�...

Laravel計劃任務運行無響應排查在使用Laravel的計劃任務調度時,不少開發者會遇到這樣的問題:schedule:run...

在dcatadmin(laravel-admin)中如何實現自定義點擊添加數據的表格功能在使用dcat...

Laravel框架中Redis連接的共享與select方法的影響在使用Laravel框架和Redis時,開發者可能會遇到一個問題:通過配置...

在Laravel多租戶擴展包stancl/tenancy中自定義租戶數據庫連接使用Laravel多租戶擴展包stancl/tenancy構建多租戶應用時,...

LaravelEloquent模型檢索:輕鬆獲取數據庫數據EloquentORM提供了簡潔易懂的方式來操作數據庫。本文將詳細介紹各種Eloquent模型檢索技巧,助您高效地從數據庫中獲取數據。 1.獲取所有記錄使用all()方法可以獲取數據庫表中的所有記錄:useApp\Models\Post;$posts=Post::all();這將返回一個集合(Collection)。您可以使用foreach循環或其他集合方法訪問數據:foreach($postsas$post){echo$post->

Laravel數據庫遷移過程中出現類重複定義問題在使用Laravel框架進行數據庫遷移時,開發者可能會遇到“類已使用�...
