<rmcreative>

RSS

Как поставить расширение на Yii 2.0 без Composer

24 февраля 2015

Не первый раз спрашивают, как поставить расширение Yii 2.0 без Composer. Отвечаю.

Ставить будем yii2-imperavi-widget.

  • Идём в https://github.com/vova07/yii2-imperavi-widget/releases, забираем архив.
  • Смотрим его composer.json.
  • Там у нас есть секция autoload, в ней упоминание PSR-4 и vova07/imperavi.
  • Распаковываем файлы в vendor/vova07/imperavi.
  • В vendor/composer/autoload_psr4.php добавляем:
'vova07\\imperavi\\' => array($vendorDir . '/vova07/imperavi/src'),
  • В vendor/yiisoft/extensions.php добавляем:
'vova07/imperavi' => array (
    'name' => 'vova07/imperavi',
    'version' => '2',
    'alias' => array (
        '@vova07/imperavi' => $vendorDir . '/vova07/imperavi/src',
    ),
),

Всё это делает за вас Composer. Лучше изучите его и не теряйте время.

Комментарии RSS

  1. №9641
    Алексей S c
    Алексей S c 24 февр. 2015 г., 18:41:39

    Извините конечно, но лучше бы пост сократить до:

    Как поставить расширение на Yii 2.0 без Composer Лучше изучите его и не теряйте время.

  2. №9642
    Demon_id
    Demon_id 24 февр. 2015 г., 19:02:27

    Спасибо! ) Уже разобрался, но два месяца назад потратил на это время )

    Лучше изучите его и не теряйте время.

    Не всегда хочется выносить свой экстеншн/виджет написанный строго под один сайт в гит. Проще оставить его прямо в проекте и прописать неймспейс по psr-4.

  3. №9644
    Алексей S c
    Алексей S c 25 февр. 2015 г., 0:57:19

    Проще оставить его прямо в проекте

    учитывая, что папка vendor в игноре :) как вы на продакшен это будете выливать?

  4. №9645
    Алексей S c
    Алексей S c 25 февр. 2015 г., 1:04:17

    очепятка

    Распаковываем файлы в vendor/vova07/impravi

  5. №9646
    Demon_id
    Demon_id 25 февр. 2015 г., 1:08:23

    учитывая, что папка vendor в игноре :) как вы на продакшен это будете выливать?

    я не говорил что "оставить в проекте" значит положить в vendor

  6. №9647
    Василий
    Василий 25 февр. 2015 г., 9:14:46

    учитывая, что папка vendor в игноре :) как вы на продакшен это будете выливать?

    Берём и убираем из игнора всю папку, и добавляем только не, в которых уверены, что будут установлены заново или обновлены через композер. Глупый аргумент, если честно.

  7. №9648
    Алексей S c
    Алексей S c 25 февр. 2015 г., 18:16:55

    Глупый аргумент, если честно.

    Ручками сделать можно что угодно, мы же программисты. Только есть best practice и некие "стандарты". А можно и на продакшене ручками код писать через ssh конечно

  8. №9651
    Василий
    Василий 26 февр. 2015 г., 12:10:39

    Только есть best practice и некие "стандарты".

    Ткните носом, пожалуйста, на это.

    И потом, следовать всему подряд - ни к чему хорошему еще не приводило. Технически нужно мыслить, технически. (с)

  9. №9652
    Nepster
    Nepster 26 февр. 2015 г., 13:58:12

    Старые дедовские способо разворачивания проекта через ftp.

  10. №9654
    Илья
    Илья 26 февр. 2015 г., 14:20:08

    Не всегда хочется выносить свой экстеншн/виджет написанный строго под один сайт в гит. Проще оставить его прямо в проекте и прописать неймспейс по psr-4.

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

  11. №9657
    Demon_id
    Demon_id 27 февр. 2015 г., 0:48:54

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

    читайте внимательно комментарии, до того как оставлять свои.

  12. №9658
    Etki
    Etki 01 марта 2015 г., 5:52:05

    (Касательно комментариев, а не поста) Если это часть приложения, написанная под один сайт, то зачем ее вообще выносить?

  13. №9660
    pavlm
    pavlm 02 марта 2015 г., 15:00:37

    Правильнее будет добавлять неймспейс в секцию autoload/psr-4 в composer.json проекта, а потом запустить composer.phar dumpautoload.
    Здесь описано: getcomposer.org/doc/01-basic-usage.md#autoloading

  14. №9671
    Артём
    Артём 04 марта 2015 г., 14:47:37

    Можно попробовать использовать composer.borreli.com/ этот сервис. Скачать архив и скопировать папку в vendor, и посмотреть autoload

  15. №10751
    Сергей
    Сергей 13 нояб. 2016 г., 15:54:32

    Исправьте пути. Там где написано '/vova07/imperavi' нужно '/vova07/imperavi/src'.

  16. №10752
    Sam
    Sam 13 нояб. 2016 г., 16:25:48

    Сергей, поправил. Спасибо!

  17. №10754
    Андрей
    Андрей 14 нояб. 2016 г., 22:47:14

    До сих пор на бОльшей куче хостингов нет поддержки composer, или вобще доступа к директории выше /www. Так что не надо пожалуйста про "изучите", "дедовские способы" или "best practice и некие "стандарты"

  18. №10756
    Sam
    Sam 15 нояб. 2016 г., 12:50:35

    Андрей, за те же деньги, что стоит большинство хостингов, уже можно взять простенькую VPS-ку и делать с ней всё, что вздумается.

  19. №10845
    barsik.xyz
    barsik.xyz 31 янв. 2017 г., 15:24:24

    а у меня на хостинге вообще ничего не ставится, т.к. не хватает памяти для composer, толку его изучать...

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

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

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