今天就跟大家聊聊有關(guān)Symfony2中怎么獲取web目錄絕對(duì)路徑,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
對(duì)于你的需求,Symfony2通過DIC提供了kernel服務(wù),以及request(請(qǐng)求)的封裝。
在controller里(在其他地方你可以自行注入kernel,這個(gè)服務(wù)是HttpKernel庫里的一個(gè)類:好孩子都喜歡讀源代碼):
$appRoot = $this->get('kernel')->getRootDir(); // 這里得到的是app目錄的絕對(duì)路徑 // ... 然后你可以再定位到web目錄了
web目錄的相對(duì)路徑?相對(duì)什么的路徑?不管你的實(shí)際需求是什么,sf2給你提供了現(xiàn)成的工具,你可以比對(duì)獲取相對(duì)路徑:
use Symfony\Component\Filesystem\Filesystem; $filesystem = new Filesystem(); $filesystem->makePathRelative($endPath, $startPath); // $endPath相對(duì)$startPath的相對(duì)路徑
至于網(wǎng)址,你可以通過request獲得:
// 在controll里: $this->getRequest()->getHost(); // 主機(jī)名 $this->getRequest()->getHttpHost(); // 帶協(xié)議的主機(jī)名 $this->getRequest()->getRequestUri(); // 請(qǐng)求的路徑
看完上述內(nèi)容,你們對(duì)Symfony2中怎么獲取web目錄絕對(duì)路徑有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。