将php变量注入lessphp 0.3.8

时间:2013-02-05 14:35:10

标签: variables lessphp

我正在尝试使用lessphp文档中描述的方法将一些php变量注入到我的less css中。我能做到:

$lc = new lessc;
$lc->setVariables(array("stylesheetURI" => "foo/bar"));

最终允许我这样做:

background-image: url("@{stylesheetURI}/img/logo.jpg");

结果是:

background-image: url("foo/bar/img/logo.jpg");

这一切都很完美&像魅力一样......

但是,我更愿意为我的图片路径添加完整的网址。所以我在做:

$lc = new lessc;
$lc->setVariables(array("stylesheetURI" => "http://mydomain.com/foo/bar"));

但结果是:

background-image: url("http/img/logo.jpg");

这显然是错误的。还有其他人看过这个问题吗?我已经在lessc.inc.php类中进行了挖掘,但它有点像野兽,我无法找到问题所在。我认为它与结肠有关 - 有谁知道怎么逃避这个?我尝试过反斜杠,但这不起作用。

全部谢谢

1 个答案:

答案 0 :(得分:1)

我试试

$less = new lessc;
$less->setVariables(array(
    'rdir'=> '"/resources/default"'
));
echo $less->compileFile($lessFileName);
我没有文件

img{
    background-image: url(@{rdir}/img.jpg);
}

在输出中我有:

img {
  background-image: url(/resources/default/img.jpg);
}

当我尝试

$less->setVariables(array(
    'rdir'=> '"http://example.com/resources/default"'
));

我得到了

img {
  background-image: url(http://example.com/resources/default/img.jpg);
}

lessphp v0.3.9 您可以尝试使用引号添加字符串变量'" http://example.com/"'