Как вы очищаете проект PHP? - PullRequest
       27

Как вы очищаете проект PHP?

1 голос
/ 27 октября 2009

Я работал над небольшим php-приложением (всего 400K). Но в процессе создания и обучения у меня много ненужных файлов.

Я не выполнил свою работу и правильно назвал их, т.е. demo1.php т. Д. *

Есть ли способ сделать проверку зависимостей? Или это просто удалить, обновить и повторить? Затем восстановить при необходимости?

Ответы [ 6 ]

4 голосов
/ 27 октября 2009

Нет волшебного инструмента, который сделает это за вас, есть только функциональность, которая поможет вам реализовать собственное решение.

Функция, которую вы хотите:

get_included_files();

Это вернет массив любого файла, который был включен до сих пор. Поместите это в конец вашего файла начальной загрузки (или в конце всех ваших отдельных файлов), и вы можете получить список всех файлов, которые были включены или требуются. Это НЕ будет сообщать о файлах, открытых с помощью file_get_contents, fopen и т. Д. Поэтому хорошей идеей будет иметь какие-то функции / классы-обертки, которые будут вызывать эти функции для вас (что позволит вам при необходимости подключиться к действиям) быть)

Подход, который я бы использовал, это добавить код, который регистрирует включенные файлы где-нибудь, а затем позволить вашему приложению работать в течение дня или двух (или выполнить все его функции самостоятельно). Это должно дать вам полный список файлов, которые ваши Проект на самом деле используется, позволяют очистить файлы, которые не отображаются в списке. Эта регистрация может быть такой простой, как

file_put_contents('/tmp/files.txt',print_r(get_included_files(), true),FILE_APPEND);
3 голосов
/ 27 октября 2009

Я сейчас нахожусь в такой же ситуации, убираю очень большой проект, частям которого уже лет.

Что я считаю наиболее важным для выполнения работы:

  • Контроль версий. Я использую TortoiseSVN из-за его отличной интеграции с Windows Explorer. Я стараюсь регистрироваться после каждого изменения, чтобы избежать большой боли и страданий.

  • Очень хорошая и удобная функция поиска для базовой проверки зависимостей (где используется $ xyz-> loadFromOtherSource?). Я использую nusphere PhpEd, но есть много инструментов с хорошими функциями поиска.

Кроме этого, я не знаю надежных инструментов рефакторинга / проверки зависимостей для PHP.

0 голосов
/ 27 октября 2009

Привет, вы можете автоматически загружать ваши файлы. ех. myfile.php класс также должен называться myfile

    <?php 
function __autoload($class_name) {
        require_once $class_name . '.php';
    }

    $obj  = new MyClass1();
    $obj2 = new MyClass2(); 
    ?>
0 голосов
/ 27 октября 2009

У меня была похожая проблема несколько лет назад, когда я брал код у другого разработчика, который покинул нашу компанию. Полное переписывание не было возможным, так как код уже был в производстве. но код был неуправляем в своем текущем состоянии.

1) Я создал хранилище оригинального исходного кода.

2) Я создал тестовый код, который проверял функциональность его приложения.

3) Я занимался удалением, перемещением и очисткой функций, пока исходный код не стал более управляемым. Проверка исходного кода после каждого успешного изменения.

0 голосов
/ 27 октября 2009

Это будет сложно сделать - у IDE или подобного инструмента не будет возможности узнать, какие PHP-файлы предназначены, поскольку они каким-то образом включают в себя файлы, к которым конечный пользователь должен обращаться напрямую.

Не говоря уже о том, что PHP позволяет вам действительно динамически включать файлы, например,

$page = $_GET['page'];
include( 'templates/' . $page . '.php' );

В конце концов, вам понадобится много тщательной проверки.

0 голосов
/ 27 октября 2009

Звучит так, будто вам нужно начать с системы контроля версий. Если ваш проект уже испорчен, вам может понадобиться просто откусить пулю и почистить ее вручную.

...