Я могу с тем же успехом повысить производительность написав личную библиотеку, которая будет кочевать от проекта к проекту.
улучшить качество кода
Не факт, т.к. зависит от конкретной библиотеки.
В любом случае, использование сторонних библиотек не делает ТВОЙ личный код лучше. Понятность сторонних библиотек может бы компенсирована говнокодом для работы с ними.
Я сам не программист, но мне дали задание сделать сервер с ReactPHP. Composer я установил, к концу рабочего поставлю ReactPHP. А интересно, что это за штука ReactPHP? Как я понял - эта штука, которая поддерживает установленное соединение. Но что это за штука?
Читал в интернете, про ReactPHP вообще почти нет инфы. Есть только одна статья на Хабре, но там просто пример. Я почему это спрашиваю, я вот думаю как на сервере проверить, заработал ReactPHP или нет.
Я могу с тем же успехом повысить производительность написав личную библиотеку
1. Ты никак не можешь соревноваться в скорости разработки с сотнями тысяч программистов со всего мира.
2. Написание личных библиотек никак не отменяет полезность composer'а
Не факт, т.к. зависит от конкретной библиотеки
Выбрать хорошую библиотеку на порядки проще, чем написать самому даже посредственную.
В любом случае, использование сторонних библиотек не делает ТВОЙ личный код лучше
— Сэкономленное время позволяет больше внимания уделить собственному коду — Чем меньше кода (поскольку задачу уже решил кто-то другой), тем меньше вероятность допустить ошибку.
А интересно, что это за штука ReactPHP? Как я понял - эта штука, которая поддерживает установленное соединение.
Нет. Главное там в том, что это сервер, написанный на PHP и поэтому для каждого запроса не требуется инициировать заново PHP-виртуальную машину.
Я бы не сказал, что это хоть сколько-нибудь «серебряная пуля», поскольку требует особого отношения к работе с ресурсами (избегать утечек памяти, осторожно работать с дескрипторами и т.п.) и не даёт такого уж большого выигрыша в инициализации системы по сравнению с тем же php-fpm+opcache по сравнению со временем работы собственно скрипта. Но у ReactPHP не мало фанатов.
Я почему это спрашиваю, я вот думаю как на сервере проверить, заработал ReactPHP или нет.
Вопрос некорректен. Установка ReactPHP никак не ускорит отдельные решения. Это просто библиотека. Нужно переписывать код приложения, чтобы оно работало через ReactPHP, а не через обычный mod/cgi/fpm запрос.
Есть только одна статья на Хабре, но там просто пример
Если что-то не сложное, то почему-бы и нет. Тем более всего раз пишешь, а потом можно сколько угодно использовать. Например - класс для работы с маршрутами.
Это у какой-такой библиотеки 100к разработчиков со всего мира?
А я где-то писал про _одну_ библиотеку? o_O
Нет, обычно программист решает множество декомпозированных задач, каждую из которых удобно решать несколькими библиотеками.
Нужно учитывать что собственная библиотека будет содержать только необходимый мне функционал
Велосипед ты тоже из руды будешь делать?
Сэкономленное время ты потратишь на чтение документации, допиливание функционала
Это одноразовая задача. И нередко даже при одноразовом решении использование библиотеки вместе с изучением документации окажется намного менее затратным по времени, чем написание кода самому. Сколько времени ты будешь писать эквивалент хотя бы того же ReactPHP?
Кода не становится меньше, ибо его часть скрывается за интерфейсом библиотеки.
Меньше становится _твоего_ кода. Мы говорим о контексте затрат времени на написание и отладку. Соответственно, меньше вероятность допустить ошибку. Ибо эти ошибки уже допустил и исправил ранее автор библиотеки.
Вот уж что в наше время писать самому совсем глупо. Попробуй написать роутинг эффективнее FastRoute. А разобраться с его использованием — это 5 минут беглого чтения с одной странички. Ты же за эти 5 минут не напишешь даже µ, в котором всего 4 строчки кода :)
Ну и где здесь «ненужность» композера? Твой велосипед он тоже установит одной командой. Или месье любитель копипасть зависимости в каждый проект? Небось ещё и без автозагрузки.
Ты так говоришь как будто это что-то плохое. Я проекты создаю крайне редко чтобы заводить отдельную команду для копирования библиотек. А насчет автозагрузки ты ошибаешься - я использую ее.