URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 107510
[ Назад ]

Исходное сообщение
"Доступен Composer 1.0.0, менеджер зависимостей для PHP"

Отправлено opennews , 11-Апр-16 10:22 
После пяти лет разработки представлен (https://seld.be/notes/composer-goes-gold)  первый стабильный релиз проекта Composer 1.0.0 (https://getcomposer.org/), в рамках которого развивается менеджер для установки зависимостей в проектах на языке PHP. Composer позволяет определить какие библиотеки функций необходимы для работы проекта, после чего берёт на себя работу по установке недостающих зависимостей и обновлению новых версий. Доступные для установки библиотеки размещены в репозитории Packagist (https://packagist.org/), который насчитывает более 92 тысяч пакетов. Код Composer написан на PHP и распространяется (https://github.com/composer/composer) под лицензией MIT.

Проект наследует многие идеи пакетных менеджеров npm (https://npmjs.org/) и bundler (http://bundler.io/), используемых в сообществах разработчиков Node.js и Ruby. Composer позиционируется как система установки зависимостей, а не пакетный менеджер, так как оперирует пакетами в привязке к конкретным проектам, устанавливая зависимости в локальные директории этих проектов (имеется режим глобальной установки пакетов в систему для нескольких проектов, но он не применяется по умолчанию).

Поддерживается несколько каналов доставки обновлений: по умолчанию предлагается установка стабильных выпусков библиотек, но также имеется возможность использования экспериментальных обновлений (alpha/beta) и снапшотов (срезы находящейся в разработке кодовой базы), которые полезны при организации тестовых сборок в системах непрерывной интеграции.

URL: https://seld.be/notes/composer-goes-gold
Новость: http://www.opennet.me/opennews/art.shtml?num=44214


Содержание

Сообщения в этом обсуждении
"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено A.Stahl , 11-Апр-16 10:22 
>>Проект наследует многие идеи пакетных менеджеров npm
>npm

Этот не тот, который из-за паники админов, кретинизма обладателя торговой марки и психов разработчика чуть раком не поставил весь JavaScript мир?


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Наркоман , 11-Апр-16 10:52 
Причём тут сам пакетный менеджер?

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено rshadow , 11-Апр-16 11:32 
В падении самолетов виновата гравитация. При чем здесь пилоты, техники и террористы непонятно. <сарказм>

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Наркоман , 11-Апр-16 14:39 
Не вижу никакой связи в вашей аналогии.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 13:17 
Равняться на npm, который писали феерические алени -> нутыпонел.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 12:12 
очевидно, эту проблему учтут при разработке, поэтому она не должна возникнуть.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено gogo , 11-Апр-16 12:17 
не очевидно

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 12-Апр-16 15:09 
Очевидно, форумным экспертам лучше знать, чем разработчикам. Разработчики же не сидят по форумам в рабочее время.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 22:02 
Проблему копирастических проституток в администрации проекта решат при разработке ПО? Вот это новость!

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Owlet , 12-Апр-16 22:43 
> чуть раком не поставил весь JavaScript мир?

что значит "чуть"?


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено jedie , 11-Апр-16 10:54 
Уже несколько лет пользуюсь а он все это время оказывается был нестабильным.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено username , 11-Апр-16 11:15 
Сотни мб памяти(до 4гб доходит), часы работы на крупном проекте(без выключенного сборщика мусора).  
Это назвать стабильным язык не поворачивается.
PS, прежде чем кудахкать попробуйте поставить akeneo crm например, и собрать.
Мне в свое время на вопрос как же его собрать на микро инстансе если там 2гб памяти не достаточно и работает сутки ответили что никак, такова суть компоста. Поделка детей.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Наркоман , 11-Апр-16 11:18 
Почитай про деплой.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 11:22 
Прочитал.
Деплой - развертывание.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено username , 11-Апр-16 11:44 
> Почитай про деплой.

Да это все отлично, все мы умеем и есть ci и cd и эту беду кое-как можно обойти. Да и проект с нуля не каждый день разворачивается.
Ты скажи мне, поясни, почему такая простая и примитивная задача решается с такими диким расходом времени и ресурсов. Как и чем это можно оправдать, какими "современными способами разработки" и "молодой командой" это вся можно пояснить.
Святые угодники, да если-бы в питоне pip по часу джанго ставил-бы то за неделю парни напакостили бы что-то более рабочее. То что компост живет в мире пхп и им еще кто-то гордится просто чудовищно.    


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 11:25 
Собрать? Пхп?

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено username , 11-Апр-16 11:36 
> Собрать? Пхп?

Да какое пхп. Нет, выполнить свои прямые обязанности, стянуть в папку зависимости для проекта. Это два десятка поганых архивов по хттп выкачать, понимаешь? Два десятка!
2гб памяти МАЛО БЛ! ЧАСЫ ты понимаешь, часы работы!


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено username , 11-Апр-16 11:38 
> Собрать? Пхп?

Вообще еслиб мне кто-то сказал про такое, я в тупую не поверил-бы.
Пхпешники веселые ребята если пользуются этим каждый день. Это тупо позор.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено конь , 11-Апр-16 11:47 
херню какую-то несешь. 23 зависимости в композере и все ок.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено username , 11-Апр-16 11:48 
> херню какую-то несешь. 23 зависимости в композере и все ок.

Да все ок, поставь акенео. Просто поставь. Жду тебя через пару часов с фидбеком.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено конь , 11-Апр-16 12:03 
Конкретнее? Скачал отсюда архив https://www.akeneo.com/download/ запустил composer install. Все зависимости уже есть.
Создать пустой проект и добавить в composer пакет "akeneo/pim-community-dev"?

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено username , 11-Апр-16 15:05 
> Конкретнее? Скачал отсюда архив https://www.akeneo.com/download/ запустил composer
> install. Все зависимости уже есть.
> Создать пустой проект и добавить в composer пакет "akeneo/pim-community-dev"?

О пустом речь шла, само собой.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 11-Апр-16 16:04 
по памяти да, много жрет, на 64 битной win7 сожрало ~1гб.
по времени заняло чуть больше 10 минут. точно не засек 11-12 где-то.
может у тебя интернет медленный просто?
P.S. да, запускал на php7

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено й , 13-Апр-16 17:01 
вопрос всего треда: почему даже сраный gradle работает быстрее и ест меньше памяти?

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 11:49 
на дев серваке собирай
деплой файлы
в чем проблема?

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено username , 11-Апр-16 11:50 
> на дев серваке собирай
> деплой файлы
> в чем проблема?

лол, читай выше.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 13:28 
А в чём проблема собрать на чердаке с SSD и 32 Гб памяти, а на микроинстанс деплоить уже готовые файлы?

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено angra , 11-Апр-16 15:36 
Да никаких проблем. Точно также как никаких проблем, чтобы достичь того же результата банальной ручной установкой тарболов, при этом никакого компоста и отдельной машины с ssd+32gb вообще не нужно.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено тоже Аноним , 11-Апр-16 16:02 
А поскольку для человека, считающего установку тарболов банальной, все равно, где читать о зависимостях проекта - в README или в конфиге компоста, получается, что проблемы в существующей ситуации, когда для описания зависимостей используется компост, действительно нет.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 12-Апр-16 01:03 
Прочитай в документации, когда надо запускать composer install, а когда composer update, и что именно они делают.

composer install не кушает почти нисколько.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 11:20 
А когда менеджер зависимостей и менеджер пакетов для менеджеров пакетов и менежеров зависимостей напишут?

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 11:24 
Это настолько нeнyжно, что даже нeнyжно. А те, кто его используют - деграданты. Потому что нормальный проект использует максимум 2-3 зависимости, которые вполне можно подтянуть руками, а пользователи композера и того не осиливают.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 11:36 
Вы сильно ошибаетесь.
Использование пакетных менеджеров для таких языков как PHP и javascript дает очень большую отдачу:
1. С точки зрения разработчика. Сборка проекта скелета проекта осуществляется быстро. Писать, зная каждую зависимость, получается быстро и просто. Дестких болезней не встречается.
2. С точки зрения менеджера проекта/фрилансера и т.п. Собранный один раз проект, без последующей поддержки со стороны создателя является мертвым грузом: никто в здравом уме отсурсенный проект не станет развивать сам (посмотрите, какие и сколько фреймфорков нужно знать, чтобы устроиться PHP/js программистом? Да, да, да, досканальные знания оригинального js и понимание подходов разработки на нем никому не нужны, потому что их никто не применяет)
3. С точки зрения заказчика. Получаем за небольшие деньги проект с минимумом фукциональности. Никаких людей в штат не надо - полностью все обслуживание на создателе. Особо начнет "хамить" - есть сотня других, которые с удовольствием перепишут все, почти за даром, лишь бы получить сливки с развития/раскрутки и т.п.

Все в выигрыши. И да, к разработке вся эта магия не имеет никакого отоншения. Это как борд на дороге повесить или кассу оснастить.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 12:32 
> 1. С точки зрения разработчика. Сборка проекта скелета проекта осуществляется быстро. Писать, зная каждую зависимость, получается быстро и просто. Дестких болезней не встречается.

Как часто это требуется? Если речь идет о одном проекте в месяц или два, то к разработке они отношения не имеют. Это конвеерное клепание. Нет проработки архитектуры, просто вытряхиваются запчасти, обвязываются кое-как резинкой и кидаются в сторону заказчика.

Как я уже говорил, это деградация разработки. И Композер ориентирован на эту нишу.

> И да, к разработке вся эта магия не имеет никакого отоншения. Это как борд на дороге повесить или кассу оснастить.

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


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 11-Апр-16 14:57 
Ты не в теме абсолютно. https://github.com/symfony/symfony/blob/master/composer.json пример конвеерного проекта по твоему? наоборот, менеджер зависимостей позволяет не писать require/include с перечислением кучи возможных зависимостей, а выкачать сторонний пакет, и сразу его использовать.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 15:23 
Мда. Получается, разработчики вообще не следят за тем, что тянут в проект. Ни чейнджлоги почитать, ни проверить совместимость с существующим кодом. Что-то вроде функции отката в винде - половина системы старая, половина новая, и все такое неконсистентное, кое-как работающее (а юзеру большего и не надо, он счастлив самим фактом того, что избежал переустановки).

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 11-Апр-16 15:42 
> Мда. Получается, разработчики вообще не следят за тем, что тянут в проект.

Для этого есть semver. Если ты указал в composer версию 1.0.* то ты гарантированно не поломаешь обратную совместимость.
Хочешь сидеть без обновлений укажи конкретную версию типа 1.0.4



"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 16:11 
Ты привел пример, который устроил бы меня, но этот пример показывает, что смысла в сабже нет. Один раз скачал и больше не обновляешься. И для этого отдельную софтину писали (которую, как писали выше, вообще разносит до использования нескольких гигабайт оперативки)?

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


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 11-Апр-16 16:26 
Ай, ты просто уперся как баран)
Я тебе говорю как писавший еще на пхп 4. Composer реально упрощает работу. Тем более что сейчас все нормальные проекты пишутся исключительно под него, и руками ты их так просто не поставишь.
Не нужно отставать от современных тенденций.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 16:34 
> Тем более что сейчас все нормальные проекты пишутся исключительно под него

Так только вышла первая стабильная версия. Ты или обманываеш или такие "нормальные" проекты.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 11-Апр-16 16:55 
>> Тем более что сейчас все нормальные проекты пишутся исключительно под него
> Так только вышла первая стабильная версия. Ты или обманываеш или такие "нормальные"
> проекты.

Используют его уже давно в продакшене, хз почему composer решил именовать себя alpha-beta так долго.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 16:43 
Да нет, просто я тоже начинал с 4-го, и говорю по своему опыту. А что касается тенденций, стороной меня они не обходят, но в случае с сабжем я предпочту ручной контроль автоматизации.

> Тем более что сейчас все нормальные проекты пишутся исключительно под него, и руками ты их так просто не поставишь.

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


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 11-Апр-16 16:58 
> Да нет, просто я тоже начинал с 4-го, и говорю по своему
> опыту. А что касается тенденций, стороной меня они не обходят, но
> в случае с сабжем я предпочту ручной контроль автоматизации.
>> Тем более что сейчас все нормальные проекты пишутся исключительно под него, и руками ты их так просто не поставишь.
> "Компьютер позволяет решать задачи, которые до его изобретения не существовали" - то
> же и с Композером. Я по-прежнему не имею проблем с ручной
> подборкой модулей. Потому что использую из обдуманно и считанные единицы, а
> не тяну в проект что попало.

Ну, как минимум, это говорит что ты не работал с современными php фреймворками. Вероятно, стек задач - это проекты на джумле/вордпрессе/друпале/битриксе... Отсюда и такие позиции нездоровые.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 18:42 
"Позиции нездоровые" оттого, что пользуясь гентой, всегда после обновлений что-то отваливается (не потому что не умею пользоваться, просто это неизбежное зло от удобства пользования дистрибутивом). В Композере аналогичный принцип. Но стабильность проектов в интернете мне (и клиентам) важнее стабильности системы дома. И да, проекты у меня на Yii и Kohana.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 11-Апр-16 19:25 
Тем увлекательнее будет знакомство с Yii2)
P.S. а еще когда нибудь познакомишься с composer.lock и composer install и не будешь писать глупости про стабильность)

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено redwolf , 11-Апр-16 21:35 
Gentoo собирает программы из портов(!!). Причём же здесь composer? Он скорее больше похож на debian, где вы тянете готовые пакеты.
Да, в Gentoo тоже можно подключить репозиторий с бинарными пакетами (хотя многие об этом и не знают), но, как я понимаю, речь не об этом.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Led , 11-Апр-16 21:47 
> Gentoo собирает программы из портов(!!).

Не из портов, а из портков (которые на лямках).


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 12-Апр-16 00:40 
Речь о том, что обязанность тестировать работоспособность сайта и операционной системы в том и другом случае ложится на пользователя, который произвел обновление, но в случае ручного прощупывания каждого обновляемого модуля - контроля больше.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Ан , 12-Апр-16 09:06 
Не ложится она на пользователя. Для контроля консистентности достаточно composer.lock таскать вместе с проектом(в git к примеру), а при развёртывании использовать composer install и будет всё зафиксировано в точности таким как в тот момент когда разработчик последний раз писал composer update. А обновление и тестирование новых зависимостей уже будет проводить разработчик.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 12-Апр-16 10:31 
Тогда зачем этот Композер вообще нужен? Лишняя сущность.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено redwolf , 11-Апр-16 21:31 
Интересу ради. Вы в репозитории код как храните? С композером мне понятно. Положил composer.json с прописанными зависимостями и всё. Потом другой программист сделал "composer install" и получил развёрнутый проект.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 12-Апр-16 00:36 
Да все стандартно, в git. Но снова обращу внимание, что зависимостей у меня минимум, что попало в рот не тащу. Другие программисты клонируют сразу готовый проект.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 12-Апр-16 07:52 
Да какой интерес, чел просто застрял на php 5.2 (в лучшем случае), это же видно, и просто еще не освоил современные подходы в php программировании.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 12-Апр-16 10:33 
Ты кроме как "это прикольно" так и не донес в чем смысл сабжа.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 12-Апр-16 10:53 
> Ты кроме как "это прикольно" так и не донес в чем смысл
> сабжа.

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


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 12-Апр-16 11:27 
Я тебе про принцип KISS, а ты мне про уровень знаний. Я тебе про то что не использую 100500 зависимостей, а ты мне про то что это просто, модно и удобно если ввести 100501-ю - Композер. Не надо считать себя опытнее других.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Gemorroj , 12-Апр-16 12:06 
> Я тебе про принцип KISS, а ты мне про уровень знаний. Я
> тебе про то что не использую 100500 зависимостей, а ты мне
> про то что это просто, модно и удобно если ввести 100501-ю
> - Композер. Не надо считать себя опытнее других.

Я тебе про автозагрузку и менеджмент зависимостей, а ты мне по то что ты любишь велосипедить.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено redwolf , 12-Апр-16 19:06 
Хранить в репозитории не свой код от которого зависит ваш код не имеет смысла -- это плохой тон. Вы же работаете над своим проектом. Хранить, к примеру, сам фрэймворк или части, типа ORM, смысла нет.
Композер позволяет положить в репозиторий только один файл, в котором описаны зависимости от нужных версий нужных библиотек. При развёртывании он подтянет всё, что требуется и положит туда, куда требуется.
Какие проблемы с обновлением? Вы пишите свой код. Решите, что нужно обновить его для работы с новыми библиотеками -- перепишете код и обновите версии в зависимостях композера.
Кроме того, есть сценарий, при котором вы, начиная новый проект, подтягиваете любимый ORM, любимый шаблонизатор и начинаете разработку.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 13-Апр-16 11:23 
Спасибо, доходчиво. И смысл имеет. Но, тем не менее, хочется сказать, что его поголовное использование вовсе не из-за желания следовать хорошим практикам программирования, которые вы описали, а не более чем хипстерская мода. Вон товарищ Геморрой выше не смог внятно объяснить, практически все его аргументы сводились к тому, что круто, модно и молодежно. И об архитектуре думать не надо - накидал все в одну кучу и пользуешься.

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 11:44 
> Это настолько нeнyжно, что даже нeнyжно

Это настолько толсто, что даже скушно.


"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 11-Апр-16 17:58 
Composer V1.0.0 Anniversary Gold* Edition
http://www.ebay.co.uk/itm/Composer-V1-0-0-Anniversary-Gold-E...

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено ano , 13-Апр-16 20:28 
какой то фейк

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 13-Апр-16 12:03 
чем это лучше git submodue udpate --init --recursive
?
сколько лет пишу на php не знаю нафига юзать что-то типа этого композера

"Доступен Composer 1.0.0, менеджер зависимостей для PHP"
Отправлено Аноним , 14-Апр-16 23:37 
Тяжело быть PHP пограммистом