程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 跟我學Laravel之請求與輸入

跟我學Laravel之請求與輸入

編輯:PHP綜合

基本輸入

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')
{
    //
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved