«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/08/14 08:59:48  №1453019 1
Кто-нибудь из знатоков может своими словами кратенько разжевать новичку, что такое компосер? Я так понимаю, это какая-то линуксовская программа типа гита, которая сидит в папке с дистрибутивом твоего фреймворка, и , при установке, куда-то лезет, забирает последние версии каких-то файлов, обновляет, загружает и вообще доминирует
Ответы: >>1453059 >>1453190 >>1453551
Аноним 2019/08/14 09:31:35  №1453059 2
>>1453019
Она есть под любую ось.
Устанавливает пакеты по конфигурации composer.json
Основная идея в указании зависимостей:
Например пакет а версии 1.1 работает только с пакетом б версии 2.3 это указано в конфигурации пакетов по сему композер скачает тебе только совместимые версии.
Ответы: >>1453241
Аноним 2019/08/14 11:27:39  №1453190 3
>>1453019

Композер - это менеджер пакетов для PHP-библиотек. Библиотека - это один или несколько PHP-файлов с готовыми функциями, классами, константами, которые ты можешь подключить и использовать в своей программе, чтобы не писать с нуля то, что уже кто-то написал.

Ты создаешь файл composer.json, описываешь в нем названия и примерные версии нужных для работы твоего проекта библиотек. Затем ты запускаешь композер.

Он подбирает совместимые версии библиотек, записывает их в файл composer.lock, скачивает, установливает в папку vendor. Также, если этим библиотекам нужны другие библиотеки (зависимости), он подбирает их версии и тоже устанавливает. Затем он настраивает автозагрузку (автоматическое подключение файлов) для этих библиотек так, что тебе достаточно в своем коде подключить единственный файл (vendor/autoload.php).

Также, ты можешь прописать в composer.json правила автозагрузки для твоего кода, и он сделает автозагрузчик и для него тоже.

Все это можно делать вручную, но уйдет больше времени. Представь, если у тебя подключено 20-30 библиотек. Также, обновление потребует кучу времени, ведь тебе надо проверить их вручную для каждой библиотеки.

Композер работает в командной строке, потому, чтобы им пользоваться, надо сначала освоить её. У меня есть урок для начинающих: https://github.com/codedokode/pasta/blob/master/soft/cli.md
Ответы: >>1453241
Аноним 2019/08/14 12:56:16  №1453241 4
>>1453190
>>1453059
Как все умно сделано-то, спасибо, аноны
Ответы: >>1453267
Аноним 2019/08/14 13:34:04  №1453267 5
>>1453241
Не умно. Если в пакете A зависимость от пакета B с версией 1.0.0, тогда установив пакет A ты хуй установишь пакет B другой версии
Ответы: >>1453616
Аноним 2019/08/15 06:05:17  №1453616 6
>>1453267
В этом весь смысл дурилка
Ответы: >>1453649
Аноним 2019/08/15 07:28:40  №1453649 7
>>1453616
Например мне надо поставить пакет A и B. Оба зависят от пакета С, но разных версий. Из-за этого я не смогу одновременно поставить A и B.

Это специально сделано?
Ответы: >>1454021 >>1455475
Аноним 2019/08/15 16:21:02  №1454021 8
>>1453649
Ты вьелся в частный случай. Хочешь пакет каждый в свою среду окружения и тд и все это ради одного частного случая. Цель именно в строгости зависимости а ты хочешь все усложнить