Свежая подборка со ссылками на новости и материалы. В выпуске: конференция 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

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


  1. gogolinsky
    14.05.2018 08:04
    +2

    Спасибо!


  1. noRoman
    14.05.2018 11:56
    +3

    Вот за это (kitech/php-go — Пишем PHP-расширения на Go) особенное спасибо!
    Есть альтернативы еще? У кого-нибудь опыт написания имеется?
    Хотелось бы сразу узнать о граблях


    1. Alxly
      14.05.2018 12:44
      +1

      Судя по чекбоксам в TODO, к сожалению, данный репозиторий подходит к написанию простых функций или классов. Так как нэймспейсы пока что не имплементированы, то будет довольно сложно написать, скажем, простенькую CMS. Точнее сложно с неймспейсами. Можно попробовать сделать как в старые времени, как в magento 1.x, к примеру.

      Но я согласен — огромное спасибо за эту работу и ссылку.


      1. Fesor
        15.05.2018 14:07

        то будет довольно сложно написать, скажем, простенькую CMS

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


        1. Alxly
          16.05.2018 11:15

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


          1. Fesor
            16.05.2018 15:03

            я имел в виду, что возможно написать CMS как расширение для РНР

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


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


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


            1. Alxly
              16.05.2018 15:33

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

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

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

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

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

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

              Как я уже сказал, поскольку я работаю с РНР, но хочу так же не застрявать на месте, ищу возможности учить новые языки, технологии, но не просто так, а с пользой для дела. То есть мне это даст опыт.


    1. alekciy
      15.05.2018 12:35

      Альтернатива в смысле на Go или альтернатива написания расширений? Если второе, то есть еще Zephir от создателей сишного фрейворка Phalcon.


      1. noRoman
        15.05.2018 20:24

        Альтернатива именно на Go. С/C++ можно сказать не знаю. Узкие места в старых монструозных проектах неплохо было бы отрефакторить.


        1. alekciy
          15.05.2018 22:44

          Так Zephir это не С/С++. По сути это php код. Который просто транслируется в сишный код расширения.


          1. VolCh
            16.05.2018 09:43
            +1

            Скорее код, похожий на PHP :)


  1. SoloFeeD
    14.05.2018 12:45
    +1

    Интересно как себя ведет Swoole в продакшн?
    Кто-то уже применял?
    Если полет нормальный, то не вижу смысла в ноде)


    1. Fesor
      14.05.2018 21:40

      Если полет нормальный, то не вижу смысла в ноде)

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


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


  1. wispoz
    14.05.2018 17:47

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


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


    1. VolCh
      14.05.2018 20:23
      +1

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


      1. wispoz
        14.05.2018 22:17

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


        1. VolCh
          15.05.2018 17:27

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