Антон
Нет, можно по подробнее?
Dmitry
Антон
Мне просто кажется если вы пишите классы и у вас много повторяющегося кода, то вы не так классы описываете
Антон
Вопросы был к Кириллу
Антон
И в чем отличие будет?
Kirill
объявляешь <script> var peremennaya = <?php echo $peremennaya ?> <s/cript>
Kirill
Так делают лучшие в нашем мире
Антон
Я понял, вы стебетесь над о мной
Kirill
Нет, что вы
Kirill
Это есть на сайте битрикса
Kirill
Сам лично видел
Kirill
Кто- нибудь в реальных проектах асинхронный php использовал? Есть опыт?
Антон
Kirill
Ну, например, чтоб сокеты слушать
Антон
Я просто не пойму от куда тяга все усложнить
Kirill
Антон
Megaket4up
Антон
Говорю же что не разобрался, может я термины не правильно могу использовать
Kirill
Антон
А зачем он на серверной части?
Kirill
Kirill
Антон
Интересно, надо будет почитать. Завтра с мнением вернусь на этот счёт
Kirill
@nikolay_rovneyko а вы в своих проектах вебсокеты используете?
Тимур
а если нужно развернуть самим вебсокет
Тимур
то используем nodejs
Тимур
Потому что считаем, что нет смысла городить огород
Тимур
Robert
Большинство клиентов не хотят переплачивать за VPS/VDS чтоб работать с сокетами на php.
И по-моему сокеты и эмитация асинхронности php не связанные вещи друг с другом...
Тимур
У нас клиенты только на своих серверах
Kirill
то используем nodejs
Как ни странно аналог на NodeJS получился менее производительным в те моменты когда из эвента было необходимо обеспечить запрос к БД
Тимур
сомневаюсь, что клиентам на хостингах нужен веб сокет
Тимур
Kirill
Kirill
Kirill
Пардон, производительнее?
Kirill
Kirill
Может быть дело было в оптимизации или неумении развернуть?)
Robert
Почему? (Это я к последнему предложению)
Потому что асинхронность это деление выполнения скрипта на паралельно исполняемые ветки. А вебсокет это канал работы сервера и браузера для беспрерывного обмена информацией в реалтаим
Антон
Это тема для круглого стола я думаю как раз подойдёт
Kirill
Kirill
Kirill
сокеты не нужны
Kirill
пардон, setInterval
Тимур
только он упадет
Kirill
бесконечное количество запросов стремится к постоянному коннекту
Kirill
Kirill
А про канал -верно. но тут и проблема PHP, живущего только до исполнения запроса. А PHP-CLI отожрет слишком много ресурсов на поток
Robert
Была статья на Хабре как многие путают многопоточность с асинхронным исполнением программного кода.
Но всеравно вещи не связанные с вебсокетом не думаете?
Kirill
Robert
А как это связано с php если слушатель сервера по сокет каналу отрабатывает на стороне браузера?
Kirill
Кстати, я не имел в виду взаимодействие с браузером - я имел в виду tcp-сокеты. Например для работы с каким-то обородованием, например с КИП
Kirill
Слушатель в данном случае находится на стороне сервера
Антон
Так бы сразу и сказали, а то мы сидим тут головы ломаем 😂
Robert
Вот только опять же к php нет отношения. То о чем вы пишите достигается за счёт подключаемого модуля, который написан на языке с поддержкой многопоточности. В самом же php из коробки ни многопоточности ни асинхронности нет.
Robert
Делал эмитацию ассинхронности. Задача была по парсингу xml на >200000 строк.
После структурирования данных распараллелил процесс на добавление/обновление записей в базе в разных таблицах.
Т.е. одновременно запись шла в таблицу пользователей, товаров, новостей.
Robert
Свыше этой задачи потребности не возникало.
Kirill
А как паралелили? Отдельные таски на чанки делали?
Kirill
Какой стек для этого задействовали?
Robert
Не углублялся в такие дебри. Задача разовая. Половина работы решилась копипастом.
Kirill
Жаль(
Kirill
Думал использовать как тему на круглый стол, но никого не заинтересовал)
Robert
На практике потребность в таких возможностях крайне редко возникает на php. А если всё-таки часто то для такого проекта не нужен php. И для клиента был либо неправильно выбран язык, либо компания решила расширяться, но на технические расширение заложила заложила малые бюджеты. И вот приходится мучить php костылями и заплатками в виде модулей расширения. Я так считаю.
Пусть потоками и распаралеливанием заниматься спецы на языке с более высоким порогом вхождения. Ну а мы в свою очередь просто будем получать/отправлять запросы и ответы по их апи.
Человек аркестр это конечно хорошо, но не на высоконагруженных проектах которые действительно требуют многопоточности.
Kirill
Ну PHP уже давно не язык для бека сайтиков, это вполне себе язык общего назначения. Порог качественного вхождения в PHP тоже вырос. Почему же не использовать имеющуюся инфраструктуру на PHP при необходимости реализации асинхронной работы? Это не костыли а вполне рабочая технология. Которая может сильно ускорить любой проект на PHP
Kirill
И опять же: многопоточность != асинхронность
Robert
Северный язык. Врятли общего назначения.
Я конечно понимаю что можно упаковать интерпретатор в приложение и сделать тот же эксешник на php. 😁 но...
Robert
Ну вот можете понять тему за круглым столом. Интересно кто что думает. По этому поводу.
Robert
Меня заинтересовало
Kirill
Это тема больше для холивара чем для обсуждения) Лучше что-то про более применимое на практике, чем захочется заняться после того, ка встанешь из-за стола))))