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下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
php学习之 认清变量的作用范围
Jan 26 PHP
小文件php+SQLite存储方案
Sep 04 PHP
PHP中函数rand和mt_rand的区别比较
Dec 26 PHP
如何用php获取文件名后缀
Jun 09 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
PHP反射机制用法实例
Aug 28 PHP
PHP中使用数组指针函数操作数组示例
Nov 19 PHP
php关联数组快速排序的方法
Apr 17 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 PHP
php面试实现反射注入的详细方法
Sep 30 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 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切割页面div内容的实现代码分享
2012/07/31 PHP
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
与文件上传有关的php配置参数总结
2013/06/14 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
简单介绍Python中的RSS处理
2015/04/13 Python
Python多进程原理与用法分析
2018/08/21 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
联想德国官网:Lenovo Germany
2018/07/04 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
建筑学推荐信
2013/11/03 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers