標籤:http art re c 工作 div
原作者部落格:ieqi.net
====================================================================================================
請求反射
HTTP 協議本身是無狀態性的,但是在應用中處理各種商務邏輯時我們必須要有狀態的把控,這樣,折中的辦法就是將狀態進行標記然後嵌入到 HTTP 協議的請求中,然後應用根據這些標記來進行狀態的串聯以及處理。所以我們就要對請求進行反射處理以擷取請求資訊, Laravel3 中為我們提供了很多方法來簡化我們的工作。
URI 相關處理
一般我們把 URL 中除去協議名、主機名稱( ip 地址)、連接埠號碼所剩下的部分叫做 URI ,表示具體的資源。
擷取當前請求的 URI
echo URI::current();
擷取 URI 中特定的一段
echo URI::segment(1);
擷取 URI 中特定的一段,如果不存在,則返回第二個參數的值
echo URI::segment(10, ‘Foo‘);
擷取完整的 URI 包括 GET 的參數部分
echo URI::full();
探測當前 URI 是否為某特定路由,往往用此來達到諸如按鈕是否顯示控制之類的邏輯。
當前 URI 是否是 home
if (URI::is(‘home‘)){ // The current URI is "home"!}
當前 URI 是否以 docs/ 開頭
if URI::is(‘docs/*‘)){ // The current URI begins with "docs/"!}請求相關
擷取當前的 HTTP 方法
echo Request::method();
擷取全域 $_SERVER 數組中的參數
echo Request::server(‘http_referer‘);
擷取訪問來源 IP
echo Request::ip();
探測當前請求是否為 HTTPS
if (Request::secure()){ // This request is over HTTPS!}
探測當前請求是否為 ajax 請求
if (Request::ajax()){ // This request is using AJAX!}
探測當前請求是否來自 Artisan 命令列工具
if (Request::cli()){ // This request came from the CLI!}