Удаление «ненужных» файлов из Yii
5 декабря 2010
Несколько раз на форумах и в других местах всплывали вопросы вроде «что можно удалить из Yii». Лично я, конечно, считаю, что удалять оттуда ничего не надо: вряд-ли на сервере нет десяти мегабайт дискового пространства, но всё-же покажу, как можно сократить размер Yii.
Итак, изначальный вес фреймворка 9,1 Мб. На самом деле для его функционала не так уж и много.
Если для нашего приложения нам не нужны языки, кроме английского и русского, можно удалить их из framework/messages/
, framework/i18n/data/
и views
.
Получаем 5,1 Мб. Неплохо.
Скорее всего, нам не понадобятся комментарии в коде. Вырезать их можно при помощи WildReplace, вашей IDE или ещё какого-нибудь инструмента, способного выполнить замену по регулярному выражению. Выражение /\*.*?\*/
меняем на пустую строку.
Получили 3,8 Мб.
На сервере нам не понадобится yiic shell
и Gii.
Убиваем gii
, cli/commands/shell
, cli/views
, vendors/TextHighlighter
.
2,7 Мб.
На самом деле, если копнуть немного больше, можно получить и меньший вес.
Комментарии RSS по email OK
Это всё можно сократить в
или я чтот не так понял?
А еще можно свой автолоадер сделать, который логирует все подгружаемые классы, потом склеить их в один файл. А остальное удалить. Я так делал как-то, но до конца руки не дошли. Да и неправильно это.
DropSQL, да, можно. Поправил.
А есть какаят программа которая сама поудаляет все ентеры, лишнии табы, комменты?
WildReplace как-то не надежно :(
Почему ненадёжно? Если будет верная регулярка, будет и правильный реплейс.
А в случае использования yiilite, что можно удалить кроме выше перечисленного? Спасибо.
А зачем все это ? yii не так много весит по сравнению с тем же зендом. Да и работать быстрее не будет.
VasyOk, всё, что в
yiilite.php
уже описано.Ekstazi, не знаю. Народу хочется поразвлечься, наверное.
Не знаю есть ли смысл экономить 5 метров на хостинге, а вот при исключение в IDE лишних папок позволяет значительно ускорить индексацию. Я исключаю: cli, console, gii, messages, vendors, views
Sam, Ну, наверное, все через это проходят. Сам иногда экономлю с другом: "-Этот код можно уменьшить на байт!-Да нет, тут еще 5 байт можно выйграть!". Но это так, чисто спортивный интерес.
Вот я сейчас 4 часа заливаю через фтп на сервер.. и неизвестно сколько это еще продлится. Затем и нужно ) А локализации точно не нужны в 99% случаев
Александр, я вот думаю что локализацию надо указывать как-то через композер, какая нам нужна. Если проект использует ru и en, то совершенно ни к чему иметь в ядре кучу других файлов локализации.
Виктор, да они ж микроскопические...
Спасибо огромное за отличную статью, мне очень помогли ваши советы.
Спасибо удалил всё лишнее (Yii 1.1.15), получилось 8,7Mб :) из 29Мб.