国产又猛又爽又黄视频|在线观看人成视频免费|少妇高潮太爽了在线视频|911国产免费无码专区|特黄做受又大又粗又长大片|欧美一级二级免费在线观看|日日夜人人澡人人澡人人看免|欧洲午夜精品一级毛片在线播放

thinkphp6中不能使用redirect方法進(jìn)行重定向的解決方法

2022-06-09 11:21 欄目:技術(shù)開(kāi)發(fā) 查看(13260)

在以為的tp版本中,在很多場(chǎng)景需要使用redirect等方法進(jìn)行重定向,但是在tp6版本已經(jīng)默認(rèn)取消了這些方法,原因在于在tp6中think\Controller類取消了,由此導(dǎo)致原來(lái)的success、error、redirect和result等方法都被剔除。這一點(diǎn)在tp框架官方文檔的升級(jí)指導(dǎo)篇中有說(shuō)明:

QQ截圖20220609104612

如果需要按老版本的習(xí)慣使用這些方法,需要手動(dòng)安裝擴(kuò)展類予以支持,安裝命令行如下:

composer require liliuwei/thinkphp-jump

安裝后在使用success、error、redirect和result等方法方法前需要先調(diào)用對(duì)應(yīng)的類:

use \liliuwei\think\Jump;

實(shí)際上在tp6中提供了一個(gè)redirect助手函數(shù):

function redirect(string $url = '', int $code = 302): Redirect
{
    return Response::create($url, 'redirect', $code);
}

可以這樣使用:

return redirect('項(xiàng)目?jī)?nèi)網(wǎng)址');

但這個(gè)方法似乎只支持本項(xiàng)目?jī)?nèi)的路徑,如跳轉(zhuǎn)到第三方是不被支持的。其實(shí)我們也可以手動(dòng)建立一個(gè)基類Base,然后在基類中,自定義一個(gè)redirect方法,如下:

public function redirect($url){
    if(dstrpos($url,ROOT)===false){
      $url=HOST.$url;
     }
     header('location:'.$url);
     die;
}

然后跟tp5一樣直接使用$this->redirect()來(lái)調(diào)用。

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請(qǐng)注明出處:thinkphp6中不能使用redirect方法進(jìn)行重定向的解決方法 - 微構(gòu)網(wǎng)絡(luò)
分享: