您好,匿名用户
随意问技术百科期待您的加入

symfony2取得web目录绝对路径、相对路径、网址的函数是什么

+1 投票

我想在Action中取得web目录的各种路径

用户头像 提问 2013年 9月8日 @ Xin Zhao 上等兵 (320 威望)
分享到:

1个回答

+1 投票
 
最佳答案

对于你的需求,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(); // 请求的路径

还有很多很多的方法,请自己查看

用户头像 回复 2013年 9月8日 @ Aatrox 上等兵 (118 威望)
选中 2013年 9月7日 @Xin Zhao
提一个问题:

相关问题

0 投票
1 回复 13 阅读
0 投票
1 回复 35 阅读
用户头像 提问 2013年 11月15日 @ Leona 上等兵 (279 威望)
+2 投票
2 回复 185 阅读
0 投票
1 回复 62 阅读
0 投票
1 回复 30 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...