Lithium 视图中的内联 SVG
Inline SVG in Lithium View
锂的新手。
我正在尝试在 Lithium 视图中内联 SVG 文件。
在以前的 PHP 框架中,我将执行以下操作:
<?php echo file_get_contents('images/styleguide/left-arrow.svg'); ?>
在 Lithium 中,这将引发一个关于查找文件位置的非常严重的错误:
Warning: file_get_contents(images/styleguide/left-arrow.svg): failed
to open stream: No such file or directory in
//app/resources/tmp/cache/templates/template_styleguide_index.html_17440333_1480885998_1509.php
由于这个位置,我想知道这样做的 "lithium way" 是什么(如果有的话)。
我找到了解决方法(如果有更好的解决方法请补充)。
使用媒体 class 获取根目录或您的静态文件:
use lithium\net\http\Media;
$webrootPath = Media::webroot(true);
使用这个你可以得到文件内容:
$watchRound = file_get_contents($webrootPath.'/images/styleguide/watch-round.svg');
然后内联它:
<button class="toolbar__btn js-styleguide-viewport-watch-round">
<?php echo $watchRound; ?>
</button>
锂的新手。
我正在尝试在 Lithium 视图中内联 SVG 文件。
在以前的 PHP 框架中,我将执行以下操作:
<?php echo file_get_contents('images/styleguide/left-arrow.svg'); ?>
在 Lithium 中,这将引发一个关于查找文件位置的非常严重的错误:
Warning: file_get_contents(images/styleguide/left-arrow.svg): failed to open stream: No such file or directory in //app/resources/tmp/cache/templates/template_styleguide_index.html_17440333_1480885998_1509.php
由于这个位置,我想知道这样做的 "lithium way" 是什么(如果有的话)。
我找到了解决方法(如果有更好的解决方法请补充)。
使用媒体 class 获取根目录或您的静态文件:
use lithium\net\http\Media;
$webrootPath = Media::webroot(true);
使用这个你可以得到文件内容:
$watchRound = file_get_contents($webrootPath.'/images/styleguide/watch-round.svg');
然后内联它:
<button class="toolbar__btn js-styleguide-viewport-watch-round">
<?php echo $watchRound; ?>
</button>