本文實例講述了Symfony2獲取web目錄絕對路徑、相對路徑、網址的方法。分享給大家供大家參考,具體如下:
對於你的需求,Symfony2通過DIC提供了kernel服務,以及request(請求)的封裝。
在controller裡(在其他地方你可以自行注入kernel,這個服務是HttpKernel庫裡的一個類:好孩子都喜歡讀源代碼):
$appRoot = $this->get('kernel')->getRootDir(); // 這裡得到的是app目錄的絕對路徑 // ... 然後你可以再定位到web目錄了
web目錄的相對路徑?相對什麼的路徑?不管你的實際需求是什麼,sf2給你提供了現成的工具,你可以比對獲取相對路徑:
use Symfony\Component\Filesystem\Filesystem; $filesystem = new Filesystem(); $filesystem->makePathRelative($endPath, $startPath); // $endPath相對$startPath的相對路徑
至於網址,你可以通過request獲得:
// 在controll裡: $this->getRequest()->getHost(); // 主機名 $this->getRequest()->getHttpHost(); // 帶協議的主機名 $this->getRequest()->getRequestUri(); // 請求的路徑
還有很多很多的方法,可點擊此處本站下載查看。
更多關於Symfony2相關內容感興趣的讀者可查看本站專題:《Symfony框架入門教程》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《php優秀開發框架總結》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結》、《Zend FrameWork框架入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基於Symfony2框架的PHP程序設計有所幫助。