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