Laravel框架使用技巧之使用url()全局函數(shù)返回前一個(gè)頁(yè)面的地址方法詳解
注意:文章標(biāo)題中5.2+表示該文章內(nèi)容可向上兼容,適用于Laravel版本5.2及更高(目前最新為5.6),但不可向下兼容,即不適用于5.2版本以下。推薦大家花一點(diǎn)點(diǎn)時(shí)間,將自己的Laravel更新至5.6版本。
在后臺(tái)開發(fā)時(shí),我們經(jīng)常需要獲取用戶之前操作頁(yè)面的地址并生成一個(gè)返回之前頁(yè)面的鏈接。
而Laravel從版本5.2+開始,便提供了一系列全局幫助函數(shù)(Helper Functions)來簡(jiǎn)化我們的工作:
https://laravel.com/docs/5.2/helpers#method-url
要查看更高版本的相應(yīng)文檔,請(qǐng)將以上鏈接中的版本號(hào)替換為相應(yīng)版本即可。
幫助函數(shù)中有一些很常用到的,比如Paths中的public_path及storage_path,Miscellaneous中的dd、view、session等。
而今天我們要用到的是URLs中的函數(shù):
//返回當(dāng)前頁(yè)面的地址(不包含參數(shù)) url()->current(); //返回當(dāng)前頁(yè)面的完整地址(包含參數(shù)) url()->full(); //返回前一個(gè)頁(yè)面的地址(包含參數(shù)) url()->previous();
例如,我們當(dāng)前位置處于以下頁(yè)面:
//chabaoo.cn/articles/6?author=eagle
如果我們?cè)谠擁?yè)面點(diǎn)擊了某個(gè)操作,那么在我們的控制器中,我們輸出
echo url()->previous();
會(huì)發(fā)現(xiàn)輸出的結(jié)果與我們之前操作的頁(yè)面的url一致:
//chabaoo.cn/articles/6?author=eagle
全局函數(shù)可以在blade模板中直接使用,所以如果我們要?jiǎng)?chuàng)建一個(gè)返回按鈕,我們可以在view中使用以下代碼:
<a href="{{ url()->previous() }}" rel="external nofollow" >返回</a>
當(dāng)然,很多情況下我們也可以直接返回至指定的路徑名:
<a href="{{ route('articles.index') }}" rel="external nofollow" >返回文章管理</a>
這里我們使用了極為常用的route函數(shù),articles.index是articles這個(gè)資源(resource)的管理路徑名稱。
對(duì)于route函數(shù)更多的使用實(shí)例,會(huì)在另一篇文章中進(jìn)行詳述。
本文主要講解了Laravel框架使用url()全局函數(shù)返回前一個(gè)頁(yè)面的地址的方法,更多關(guān)于Laravel框架的使用技巧請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
PHP中file_get_contents高級(jí)用法實(shí)例
這篇文章主要介紹了PHP中file_get_contents高級(jí)用法,包括了超時(shí)限制及實(shí)現(xiàn)POST等用法,需要的朋友可以參考下2014-09-09

PHP 請(qǐng)求上下文相關(guān)總結(jié)

PHP連接SQLSERVER 注意事項(xiàng)(附dll文件下載)

解決PHP在DOS命令行下卻無法鏈接MySQL的技術(shù)筆記

php獲取目錄中所有文件名及判斷文件與目錄的簡(jiǎn)單方法

PHP封裝的svn類使用內(nèi)置svn函數(shù)實(shí)現(xiàn)根據(jù)svn版本號(hào)導(dǎo)出相關(guān)文件示例