获取相对于索引文件的Symfony URL

cwa*_*ole 1 symfony1

我有一个symfony项目,由于DNS问题,它是http://<project-name>/本地的,但它需要http://<qa-host-name>/<project-name>;/在更多的QA级别环境中托管,但它可能是http://<domain-name>/用于生产(所以,我需要这两个工作).现在,images文件夹将永远是相对于<project-name>目录的,所以本地它将是http://<project-name>/my-smilie.png和QA它将是http://<qa-host-name>/<project-name>/my-smilie.png

因为所有内容都与index.php的URL相关,所以我认为Symfony可以创建动态URL,即使上下文不同也template.php可以使用,这样我就可以

<?php echo image_url("my-smilie.png"); 
      /*see below for potential implementation*/?>
Run Code Online (Sandbox Code Playgroud)

它会输出http://<project-name>/my-smilie.png,http://<qa-host-name>/<project-name>/my-smilie.pnghttp://<domain-name>/my-smilie.png.(相对URL很好,但绝对会更好).

下面是我正在寻找的一个例子,但我觉得我正在尝试重新发明轮子,Symfony已经完成了这个.

function image_url($img)
{
    return get_base_url() . '/images/' . $img;
}


function get_base_url()
{
    $par = dirname( $_SERVER[ 'SCRIPT_NAME' ] );
    if($par == "/") $par = "";
    return $par;
}
Run Code Online (Sandbox Code Playgroud)

Ger*_*umm 6

尝试public_path('images/smilie.jpg')功能

public_path()手册