掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在以為的tp版本中,在很多場景需要使用redirect等方法進行重定向,但是在tp6版本已經(jīng)默認取消了這些方法,原因在于在tp6中think\Controller類取消了,由此導致原來的success、error、redirect和result等方法都被剔除。這一點在tp框架官方文檔的升級指導篇中有說明:
如果需要按老版本的習慣使用這些方法,需要手動安裝擴展類予以支持,安裝命令行如下:
composer require liliuwei/thinkphp-jump
安裝后在使用success、error、redirect和result等方法方法前需要先調(diào)用對應(yīng)的類:
use \liliuwei\think\Jump;
實際上在tp6中提供了一個redirect助手函數(shù):
function redirect(string $url = '', int $code = 302): Redirect { return Response::create($url, 'redirect', $code); }
可以這樣使用:
return redirect('項目內(nèi)網(wǎng)址');
但這個方法似乎只支持本項目內(nèi)的路徑,如跳轉(zhuǎn)到第三方是不被支持的。其實我們也可以手動建立一個基類Base,然后在基類中,自定義一個redirect方法,如下:
public function redirect($url){ if(dstrpos($url,ROOT)===false){ $url=HOST.$url; } header('location:'.$url); die; }
然后跟tp5一樣直接使用$this->redirect()來調(diào)用。
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流