【发布时间】:2015-06-25 21:34:17
【问题描述】:
在symfony 2上,使用Twig你可以使用asset()函数来链接图像{{ asset('path_to_the_image') }},现在如果文件不存在那么文件的src保持不变,
考虑到这一点,我很想在我的TwigExtensions 上创建另一个 Twig 函数,以检查文件是否存在,为了执行以下操作,如果文件存在,那么我将使用给定的 url,如果存在不存在,那么我会将函数的结果更改为我将用作 not_image 图像的默认图像。
此功能的动机是始终向用户显示图像。
现在,我的问题。
我无法弄清楚这种方法的性能问题,因为我将检查文件两次,第一次检查是否存在,另一次是请求文件的请求。通常要做的事情是放置资产地址,如果文件不存在,请使用 javascript 将其替换为一些默认文件。
我将使用 php 的 file_exists 函数,并且在我读过的手册中它非常便宜,并且如果文件确实存在,结果会被缓存以避免性能问题。
提前谢谢...
【问题讨论】:
-
只需使用 file_get_contents。如果最终证明是一个问题,缓存它,使用现有文件的注册表/索引。但我的猜测是到了性能问题的时候,简单地添加一个更快的服务器是最快和最便宜的解决方案