header()
這個函數(shù)很特殊,或者說每個函數(shù)都很特殊,只要研究下去孙乖,其實都挺有意思。
1. 在什么情況下接觸到這個函數(shù)粒梦?
筆者在接觸一個ThinkPHP3.2項目時,想利用$this->redirect()
進行跳轉(zhuǎn)荸实。tp項目原本的設(shè)計思想是分為不同的模塊匀们,所以,利用$this->redirect()
不管是跨控制器泪勒,還是跨模塊跳轉(zhuǎn)都是很方便的昼蛀。但是,前面的開發(fā)者沒有遵守框架原有的規(guī)律圆存,獨立寫了一個小模塊叼旋,所以筆者利用$this->redirect()
進行跳轉(zhuǎn),總會出毛病沦辙。于是夫植,另求它法。后來,看到了header()方法详民。
當(dāng)然延欠,潛意識里認為$this->redirect()
應(yīng)該是可以的,只是目前筆者不會用沈跨。有時間研究一下$this->redirect()
源碼由捎。理由是:用$this->success()
是可以進行跳轉(zhuǎn)的,二者應(yīng)該是貫通的饿凛。
2.header()有什么用狞玛?
在http協(xié)議中,服務(wù)器的response分為:頭部信息和主體內(nèi)容涧窒。
主體內(nèi)容是后端語言和html綜合在一起所要表達的東西心肪,也就是平時可見的網(wǎng)頁;
頭部信息則是一些聽起來莫名其妙纠吴,看不見摸不著的硬鞍,性質(zhì)性的內(nèi)容。比如戴已,其一個固该,跳轉(zhuǎn)
。
當(dāng)瀏覽器接受到頭信息中的:Location: http://www.abble.top 時恭陡,便會自動跳轉(zhuǎn)到相應(yīng)的網(wǎng)頁蹬音。
header('Location: https://' . "$host" . '/ywbl/#/home/index.html');
當(dāng)然上煤,這個功能只是冰山一角休玩,或者連一角都算不上。有機會把網(wǎng)絡(luò)研究透了劫狠,再總結(jié)拴疤。