Уловка, чтобы найти неиспользуемые файлы PHP (файлы шаблона Drupal) - PullRequest
1 голос
/ 05 августа 2010

Я ищу хитрость, чтобы найти включенные файлы, которые не используются.Желательно не проходя через них вручную.В этом проекте более 400 таких файлов, из которых 100, вероятно, сейчас не используются.

Это файлы шаблонов Drupal (tpl.php), которые были размещены в теме / шаблоне во время разработки и, как всегда, никогда не удалялись.когда устарел.

Вещи, о которых я думал: * вести реестр в базе данных или журнале, и паук на сайте.Все файлы, которые не отображаются в журнале, являются кандидатами на удаление и требуют ручной проверки.* использовать инструмент профилирования файлов, такой как cachegrind, для рендеринга стеков вызовов: файлы должны каким-то образом появляться там.Однако я понятия не имею, как это сделать.

Проблема в шаблонах Drupal заключается в том, что они очень динамичны, поэтому просто не работает include_once () и лайки.

Как избежать использования шаблона в Lrupal?

1 Ответ

4 голосов
/ 05 августа 2010

Drupal регистрирует каждую реализацию темы, включая файлы шаблонов, в реестре темы .Вы можете создать собственный модуль и внедрить hook_theme_registry_alter() для проверки реестра тем, чтобы найти, какие шаблоны используются вашей темой.Оттуда вы можете сравнить папку вашей темы с созданным вами списком.

Пример реализации:

function mymodule_theme_registry_alter(&$theme_registry) {
  global $theme_path;

  $templates_used = array();

  foreach ($theme_registry as $theme) {
    if (!empty($theme['template']) && $theme['path'] === $theme_path) {
      $templates_used[] = $theme['template'] . '.tpl.php';
    }
  }

  // Display the list (requires Devel module)
  dsm($templates_used);
}

Редактировать

Если вы не хотитереализовать hook_theme_registry_alter(), вы можете использовать theme_get_registry(), чтобы получить массив реестра тем и использовать вышеописанную технику для проверки файлов шаблонов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...