До недавнего времени установка всей "кухни" разработчика, состоящей из сервера, СУБД, PHP была делом довольно кропотливым. Теперь же инсталляцию и конфигурирование компонентов можно произвести автоматически, и поможет в этом Денвер.
Давайте посмотрим, что же включает в себя базовый (основной) пакет
Денвера:
Инсталлятор (поддерживается также инсталляция на flash-накопитель).
Apache, SSL, SSI, mod_rewrite, mod_php.
PHP5 с поддержкой GD, MySQL, sqLite.
MySQL5 с поддержкой транзакций.
Система управления виртуальными хостами, основанная на
шаблонах. Чтобы создать новый хост, вам нужно лишь добавить
директорию в каталог /home, править конфигурационные файлы
не требуется. По умолчанию уже поддерживаются схемы именования
директорий многих популярных хостеров; новые можно без труда добавить.
Система управления запуском и завершением всех компонентов Денвера.
phpMyAdmin - система управления MySQL через Web-интерфейс.
Эмулятор sendmail и SMTP-сервера (отладочная <заглушка> на
localhost:25, складывающая приходящие письма в
/tmp в формате .eml); поддерживается работа
совместно с PHP, Perl, Parser и т.д.
Если вы когда-нибудь качали дистрибутивы по модему, наверное, вы
задавались вопросом: каков абсолютный минимум размера дистрибутивов, чтобы
с ними уже можно было работать. Давайте посчитаем:
Видно, что как раз эти компоненты и содержатся в базовом пакете Денвера, но
занимает он... около 5.5 мегабайт! Вероятно, вы не поверите, что
исходные дистрибутивы могут вот так взять и <похудеть> более чем в 7 раз
без потери функциональности. За счет чего же удалось достичь таких
результатов?
Дистрибутивы были тщательным образом <прочесаны>. Все компоненты,
которые используются сравнительно редко, вынесены в отдельные пакеты
расширений. Таким образом, 90% разработчиков смогут сразу же начать
работать, а оставшимся 10% достаточно лишь докачать и установить при
помощи инсталляторов дополнительные пакеты.
Обычно дистрибутивы снабжаются различными ненужными файлами, вроде
истории изменений или инструкций по установке. Незачем говорить, что
Денвер их не содержит.
Для упаковки архива используется один из самых мощных архиваторов -
7-Zip.
Пакеты расширений
Если вы - профессиональный разработчик, вам, наверное, потребуются
дополнительные пакеты:
полная версия ActivePerl 5.8;
PHP5 с полным набором модулей;
язык программирования Python;
СУБД PostgreSQL или InterBase/FireBird версий 1 и 2;
Знаете ли Вы, что абстрактный класс - это класс, содержащий хотя бы один виртуальный метод. Абстрактные классы не бывают изолированными, т.е. всегда абстрактный класс должен быть наследуемым. Поскольку у чисто виртуального метода нет тела, то создать объект абстрактного класса невозможно. Абстрактным классом можно назвать класс, специально определенный для обеспечения наследования характеристик порожденными классами.