我想在action中取得web目录的各种路径
回复内容: 我想在action中取得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(); // 请求的路径
还有很多很多的方法,请自己查看
