我有一个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.png或http://<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)