PHP-Дайджест № 130 (1 – 13 мая 2018)


    Свежая подборка со ссылками на новости и материалы. В выпуске: конференция PHP fwdays'18, объявлены релиз-менеджеры PHP 7.3, предложение из PHP Internals, видеозаписи с прошедших митапов, порция полезных инструментов, и многое другое.

    Приятного чтения!

    Новости и релизы



    PHP Internals



    Инструменты


    • cytopia/devilbox — Современная замена XAMPP на базе Docker.
    • kitech/php-go — Пишем PHP-расширения на Go.
    • nahid/jsonq — Query builder для JSON.
    • paragonie/ciphersweet — Быcтрое шифрование для PHP-проектов с возможностью поиска по данным.
    • php-enqueue/enqueue-dev — Очередь сообщений с поддержкой транспортов AMQP (RabbitMQ, ActiveMQ), STOMP, Amazon SQS, Redis, Doctrine DBAL, Filesystem, а также добавлена поддержка MongoDB.

    Материалы для обучения




    Аудио и видеоматериалы



    Спасибо за внимание!

    Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
    Вопросы и предложения пишите на почту или в твиттер.

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

              Самое читаемое