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&MYSQL服务器配置说明
Oct 09 PHP
刚才在简化php的库,结果发现很多东西
Dec 31 PHP
PHP与SQL注入攻击[三]
Apr 17 PHP
php Notice: Undefined index 错误提示解决方法
Aug 29 PHP
PHP实现事件机制的方法
Jul 10 PHP
Yii使用技巧大汇总
Dec 29 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
PHP实现APP微信支付的实例讲解
Feb 10 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 PHP
PHP7 foreach() 函数修改
Mar 09 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 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后台如何避免用户直接进入方法实例
2013/10/15 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
HTML5新标签兼容——> 的两种方法
2018/09/12 HTML / CSS
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
工商学院毕业生个人自我评价
2013/09/19 职场文书
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
大学校园活动策划书
2014/02/04 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
八月迷情观后感
2015/06/11 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers