Как стать автором
Обновить

Комментарии 17

Вот за это (kitech/php-go — Пишем PHP-расширения на Go) особенное спасибо!
Есть альтернативы еще? У кого-нибудь опыт написания имеется?
Хотелось бы сразу узнать о граблях
Судя по чекбоксам в TODO, к сожалению, данный репозиторий подходит к написанию простых функций или классов. Так как нэймспейсы пока что не имплементированы, то будет довольно сложно написать, скажем, простенькую CMS. Точнее сложно с неймспейсами. Можно попробовать сделать как в старые времени, как в magento 1.x, к примеру.

Но я согласен — огромное спасибо за эту работу и ссылку.
то будет довольно сложно написать, скажем, простенькую CMS

мне кажется вы неверно как-то трактуете смысл таких вещей… если вы хотите саму cms написать на go то пишите, но причем тут расширения для php?)

я имел в виду, что возможно написать CMS как расширение для РНР. как, к примеру, phalcon.
Это всё мои абстрактные мысли, На практике, конечно же, сначала надо взвесить целесообразность написания cms как расширения.
Посколько я работаю с magento, то я ищу пути ускорения, скажем, чекаут процесса, так как это одна из ресурсоёмких частей в приложении. Потому-то меня и интересуют такие решения как php-go или php-rs.
И попутно, изучение друго языка, чтобы не застаиваться на одном. :)
я имел в виду, что возможно написать CMS как расширение для РНР

Что это вам даст? Ну это к вопросу о целесообразности. Мне кажется что фреймоврк что cms реализованные в виде экстеншена не целесообразны.


Скажем цель phalcon устранить по максимуму оверхэд бутстрапинга фреймворка и ускорить все, в целом с тем же успехом мы можем реализовать application-server по типу php-pm (или аналоги на go, которые уже существуют), который будет делать все то же самое и при этом намного более модульно.


что до cms — мне тут больше нравятся варианты с headless cms на go и фронт на php, что бы опять же модульно, и не надо было ничего писать. Поставить, подключил, готово. Надо что-то кастомное — не трогаешь cms и пишешь рядом.

Надо что-то кастомное — не трогаешь cms и пишешь рядом.

именно это я и предполагаю при написании cms как расширения РНР.

Возможно это не самый удачный вариант, имею в виду cms как пример для расширения. Да я понимаю в чём фишка фалкона, то же можно и сказать про бутсрап cms.

(или аналоги на go, которые уже существуют), который будет делать все то же самое и при этом намного более модульно.

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

Что это вам даст? Ну это к вопросу о целесообразности.

Как я уже сказал, поскольку я работаю с РНР, но хочу так же не застрявать на месте, ищу возможности учить новые языки, технологии, но не просто так, а с пользой для дела. То есть мне это даст опыт.
Альтернатива в смысле на Go или альтернатива написания расширений? Если второе, то есть еще Zephir от создателей сишного фрейворка Phalcon.
Альтернатива именно на Go. С/C++ можно сказать не знаю. Узкие места в старых монструозных проектах неплохо было бы отрефакторить.
Так Zephir это не С/С++. По сути это php код. Который просто транслируется в сишный код расширения.
Скорее код, похожий на PHP :)
Интересно как себя ведет Swoole в продакшн?
Кто-то уже применял?
Если полет нормальный, то не вижу смысла в ноде)
Если полет нормальный, то не вижу смысла в ноде)

ну попробуйте запустить javascript на swoole) Может быть тогда смысл вернется)


В целом swoole хорошо себя ведет в продакшене, вопрос в отладке. Это первое чему вам надо научиться когда вы работаете с подобными решениями. И в этом плане node все еще имеет смысл (хотя зачем если есть go...)

RFC: Deprecate uniqid() — Предлагается пометить устаревшей функцию uniqid(), которая несмотря на название не гарантирует уникальность возвращаемого значения. В PHP 7.3 предлагается бросать Warning, а в PHP 8.0 удалить функцию.


Может проще сделать ее нормально чем помечать ее deprecated, потом пилить полифилы для старых сайтов и так далее?

Какой-то код может быть завязан на текущее поведение, причём не обязательно PHP-код.

Тогда тем более не понятно, раз есть код который требует такое поведение, можно написать функцию которая будет выдавать правильное рандомное уникальное значение.
Есть (может быть) код, который требует того поведения, которое сейчас есть де-факто. Изменение функции его сломает.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.