<rmcreative>

RSS

Удаление «ненужных» файлов из 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

  1. №3518
    DropSQL
    DropSQL 05 дек. 2010 г., 22:29:39

    cli/commands/shell, cli/commands/shell/ShellCommand.php, cli/commands/shell/WebAppCommand.php

    Это всё можно сократить в

    cli/commands/shell

    или я чтот не так понял?

  2. №3519
    Ekstazi
    Ekstazi 05 дек. 2010 г., 23:50:06

    А еще можно свой автолоадер сделать, который логирует все подгружаемые классы, потом склеить их в один файл. А остальное удалить. Я так делал как-то, но до конца руки не дошли. Да и неправильно это.

  3. №3521
    Sam
    Sam 06 дек. 2010 г., 0:47:28

    DropSQL, да, можно. Поправил.

  4. №3523
    DropSQL
    DropSQL 06 дек. 2010 г., 11:07:23

    А есть какаят программа которая сама поудаляет все ентеры, лишнии табы, комменты?

    WildReplace как-то не надежно :(

  5. №3524
    Sam
    Sam 06 дек. 2010 г., 12:13:44

    Почему ненадёжно? Если будет верная регулярка, будет и правильный реплейс.

  6. №3526
    VasyOk
    VasyOk 06 дек. 2010 г., 14:48:50

    А в случае использования yiilite, что можно удалить кроме выше перечисленного? Спасибо.

  7. №3527
    Ekstazi
    Ekstazi 06 дек. 2010 г., 15:12:39

    А зачем все это ? yii не так много весит по сравнению с тем же зендом. Да и работать быстрее не будет.

  8. №3528
    Sam
    Sam 06 дек. 2010 г., 16:29:45

    VasyOk, всё, что в yiilite.php уже описано.

    Ekstazi, не знаю. Народу хочется поразвлечься, наверное.

  9. №3530
    Вовка
    Вовка 06 дек. 2010 г., 19:39:34

    Не знаю есть ли смысл экономить 5 метров на хостинге, а вот при исключение в IDE лишних папок позволяет значительно ускорить индексацию. Я исключаю: cli, console, gii, messages, vendors, views

  10. №3531
    Ekstazi
    Ekstazi 06 дек. 2010 г., 20:47:56

    Sam, Ну, наверное, все через это проходят. Сам иногда экономлю с другом: "-Этот код можно уменьшить на байт!-Да нет, тут еще 5 байт можно выйграть!". Но это так, чисто спортивный интерес.

  11. №8161
    Андрей
    Андрей 15 июля 2013 г., 4:50:49

    Вот я сейчас 4 часа заливаю через фтп на сервер.. и неизвестно сколько это еще продлится. Затем и нужно ) А локализации точно не нужны в 99% случаев

  12. №8749
    Виктор
    Виктор 12 янв. 2014 г., 16:14:40

    Александр, я вот думаю что локализацию надо указывать как-то через композер, какая нам нужна. Если проект использует ru и en, то совершенно ни к чему иметь в ядре кучу других файлов локализации.

  13. №8750
    Sam
    Sam 12 янв. 2014 г., 17:31:43

    Виктор, да они ж микроскопические...

  14. №8844
    Андрей
    Андрей 07 марта 2014 г., 19:49:42

    Спасибо огромное за отличную статью, мне очень помогли ваши советы.

  15. №9425
    Александр
    Александр 28 нояб. 2014 г., 17:31:44

    Спасибо удалил всё лишнее (Yii 1.1.15), получилось 8,7Mб :) из 29Мб.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.