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 xml实例 留言本
Mar 20 PHP
php读取javascript设置的cookies的代码
Apr 12 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
php递归使用示例(php递归函数)
Feb 14 PHP
PHP生成随机密码类分享
Jun 25 PHP
ThinkPHP应用模式扩展详解
Jul 16 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 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 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
PHP中PDO的错误处理
2011/09/04 PHP
php使用codebase生成随机数
2014/03/25 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
js单例模式详解实例
2013/11/21 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
利用python在excel中画图的实现方法
2020/03/17 Python
python使用建议技巧分享(三)
2020/08/18 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
python解包概念及实例
2021/02/17 Python
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
《小鹰学飞》教学反思
2014/04/23 职场文书
公司担保书范文
2014/05/21 职场文书
公司停电通知
2015/04/15 职场文书
单位车辆管理制度
2015/08/05 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python
Python中三种花式打印的示例详解
2022/03/19 Python