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实现无限级分类实现代码(递归方法)
Jan 01 PHP
PHP中将网页导出为Word文档的代码
May 25 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
PHP中常用的输出函数总结
Sep 22 PHP
windows下apache搭建php开发环境
Aug 27 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 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 UTF8编码内的繁简转换类
2009/07/20 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
从零学Python之入门(五)缩进和选择
2014/05/27 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
Python 定义只读属性的实现方式
2020/03/05 Python
python logging.info在终端没输出的解决
2020/05/12 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
如何在C# winform中异步调用web services
2015/09/21 面试题
个人近期表现材料
2014/02/11 职场文书
任命书范本大全
2014/06/06 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
个人党性分析材料
2014/12/19 职场文书
农村老人去世追悼词
2015/06/23 职场文书
《学会看病》教学反思
2016/02/17 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
Mysql事务索引知识汇总
2022/03/17 MySQL