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 相关文章推荐
PHP调用三种数据库的方法(3)
Oct 09 PHP
PHP4实际应用经验篇(8)
Oct 09 PHP
PHP连接access数据库
Mar 27 PHP
php adodb连接mssql解决乱码问题
Jun 12 PHP
理解和运用PHP中的多态性[译]
Aug 02 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
Oct 03 PHP
zf框架db类的分页示例分享
Mar 14 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
php编程每天必学之表单验证
Mar 01 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
详解json在php中的应用
Sep 30 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
php json与xml序列化/反序列化
2013/10/28 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
Python压缩和解压缩zip文件
2015/02/14 Python
Python生成器(Generator)详解
2015/04/13 Python
Python切换pip安装源的方法详解
2016/11/18 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
python3实现磁盘空间监控
2018/06/21 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
Python笔试面试题小结
2019/09/07 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
计划生育标语
2014/06/23 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
企业投资意向书
2015/05/09 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
MySQL中varchar和char类型的区别
2021/11/17 MySQL