Symfony2获取web目录绝对路径、相对路径、网址的方法


Posted in PHP onNovember 14, 2016

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
WordPress判断用户是否登录的代码
Mar 17 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
PHP多维数组遍历方法(2种实现方法)
Dec 10 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
PHP编程获取各个时间段具体时间的方法
May 26 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
Jun 22 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 PHP
深入浅析安装PhpStorm并激活的步骤详解
Sep 17 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 #PHP
PHP实现无限分类的实现方法
Nov 14 #PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 #PHP
PHP编写daemon process 实例详解
Nov 13 #PHP
php版微信小店API二次开发及使用示例
Nov 12 #PHP
PHP Mysqli 常用代码集合
Nov 12 #PHP
PHP版微信小店接口开发实例
Nov 12 #PHP
You might like
SONY SRF-M100的电路分析
2021/03/02 无线电
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
PHP实现添加购物车功能
2017/03/06 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
JQuery live函数
2010/12/24 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
pandas 时间格式转换的实现
2019/07/06 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
远程研修随笔感言
2014/02/10 职场文书
诚信承诺书模板
2014/05/26 职场文书
酒后驾车标语
2014/06/30 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技