在Symfony项目中查找未使用的TWIG布局

9

简短概述

在Symfony生态系统中,是否存在一种专门用于查找未使用的Twig布局文件的工具?即所有未包含/嵌入其他布局或由项目中任何控制器呈现的布局文件。

详细信息

在进行大型项目的前端重构任务后,可能需要一段时间和/或一些试错会话才能找到不再使用的布局文件。

我想知道是否有现成的工具/命令可以显示(可能)未使用的布局文件列表。当然,布局名称可以动态创建,因此仍需仔细检查列表,但似乎这可以节省一些时间。

感谢您提前的回答。


1
在我所知道的情况下不是这样的 :) (虽然我使用Symfony的时间不长) - treyBake
1
那将是一个我也非常感兴趣的功能。我想有几十个模板,我不确定是否还在使用它。但由于害羞而不敢删除它,以防它仍然在某个地方使用... - Jim Panse
据我所知,没有工具可以做到这一点。Twig 无法知道您有哪些模板,除非您使用它们。那么,如何使用自定义数据收集器和日志记录已使用的 Twig 模板呢?您可以查看 TwigDataCollector 的工作原理并开发自己的数据收集器。然后将此列表与您的模板列表进行比较(简单地运行 find . -name '*.html.twig' 即可)。 - Mike Doe
2
这个问题似乎不太相关。如果你问的是“我该如何找到未使用的twig布局”,那么你的问题可能更适合在SO上提出,但目前你正在寻找一个工具。 - Nima
@Nima,你可能是对的,不过我的问题更多地是关于是否存在一个现有的Symfony命令或Twig API来完成这个任务。这更多地是在寻找一个未记录的功能,而不是一个通用工具的请求。但是感谢你的评论。 - Francesco Abeni
显示剩余3条评论
2个回答

3

3
这应该是一条评论。 - Mike Doe
这里没有答案,只有你的猜测。 - Mike Doe
文档中没有任何相反的内容。在你看来,什么样的答案是有效的? - Jim Panse
如果你的答案是基于文档的,那么最好添加一个链接到你所参考的文档部分。 - Nima
你刚刚指出了问题,问题是_引用了一些不存在的信息_。这个答案实际上并不是基于文档的。如果文档明确说明由于某种特定原因这是不可能的,那么我们可以链接到该信息以支持此处给出的答案。我同意emix和DarkBee的观点,Symfony项目之外的人可能已经制作了我们不知道的工具,我们不能假设另一种情况。 - Nima
显示剩余6条评论

2

在我的探索中,我最终编写了一个脚本,用于查找未在templates/或src/文件中引用的twig模板:

APP_PATH=./$1
TWIG_PATH=${APP_PATH}/templates

# find all files in TWIG_PATH, remove TWIG_PATH from the string
for i in $( find $TWIG_PATH  -type f -not -path '*/\.*' -exec echo {}  \; | cut -b $((${#TWIG_PATH}+2))-  ); do
    # search for the path in src and templates
    if ! grep "$i" ${APP_PATH}/src ${APP_PATH}/templates -r -hc -m1 | grep -qv 0 
    then 
        echo $i;
    fi
done

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接