Как Вы управляете Жизненным циклом разработки проекта PHP?

1119 Почему должно быть 10? В V2Radiator v2 = new V2Radiator(aList); объект v2 имеет экземпляр элемента size, который увеличивается до 5, когда он создается внутри цикла for.

Когда вы создаете экземпляр V3Radiator v3 = new V3Radiator(aList);, вы создаете новый экземпляр v3, который является полностью новым экземпляром V3Radiator и отличается от более раннего экземпляра v2.

Таким образом, на экземпляр v2 не влияет создание экземпляра v3, и v3 имеет свою собственную копию переменной экземпляра size, унаследованную от V2Radiator. Экземпляр v3 при инициализации увеличивает свою собственную копию переменной size до 5, вызывая конструктор суперкласса.

Таким образом, вам нужно сделать переменную размера статической, в этом случае одно и то же значение будет общим для v2 и v3. При создании экземпляра v3 вы также увеличиваете size до 10.

class V2Radiator {
 static int size=0;

 V2Radiator(ArrayList list) {
     for (int x = 0; x<5; x++) {
        list.add(new SimUnit("V2Radiator"));
        size++;
     }    
  }
}

class V3Radiator extends V2Radiator {
 V3Radiator(ArrayList lglist) {
    super(lglist); //here size variable will be incremented for all instances.
    for(int g=0; g<10; g++) {
        lglist.add(new SimUnit("V3Radiator"));
    }
  }   
}
12
задан pbrodka 1 November 2008 в 18:19
поделиться

4 ответа

Это - то, как мы управляем нашим коммерческим сайтом:

  1. Разработайте в локальной изолированной программной среде
  2. Регистрация к SVN
  3. Автоматизированная сборка/тест от SVN на внутренний dev сервер
  4. Заданный сценарием развертывают использование rsync на подготовке сервера для QA/UAT
  5. Заданный сценарием развертываются на рабочие серверы.

Подготовка и рабочие серверы и размещается ISP и является аппаратными средствами и версией подобранный и выполненный RHEL, внутренний сервер Dev является версией, подобранной CentOS.

Таким образом, когда код поражает рабочие серверы, не должен быть никакими противными неожиданностями как, даже в развернуть сценариях регистрируются этап 4.

10
ответ дан 2 December 2019 в 22:07
поделиться

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

Winmerge является хорошим и свободным инструментом окон к разности Ваши файлы между машиной разработки и производства.

0
ответ дан 2 December 2019 в 22:07
поделиться

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

Чтобы сделать локальное управление исходным файлом, все могут предложить, чтобы Вы использовали систему управления исходным кодом.

1
ответ дан 2 December 2019 в 22:07
поделиться

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

Затем можно записать сценарий в среде производства или тестирования для копирования/обновления файлов от репозитория к пути веб-сервера.

0
ответ дан 2 December 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: