PHP-Дайджест № 107 – свежие новости, материалы и инструменты (9 – 23 апреля 2017)



    Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
    Приятного чтения!


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



    PHP


    • Замена интерфейса Serializable — Предложение от Никиты Попова, пока не оформленное в виде RFC. Текущая реализация интерфейса имеет ряд проблем, в том числе безопасности. Предлагается использовать интерфейс с магическими методами, которые не требуют вызова serialize/unserialize, вместо этого работают с массивами:

      public function __serialize() : array;
      public function __unserialize(array $data) : void;
      

    Инструменты



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



    Занимательное



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

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

    Прислать ссылку
    Быстрый поиск по всем дайджестам
    Предыдущий выпуск: PHP-Дайджест № 106
    Zfort Group
    113,00
    Компания
    Поделиться публикацией

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

      0
      Может кто-нибудь пояснить по поводу сериализации? Проблема с безопасностью-то понятна, но зачем мне массив в результате сериализации?
        +2
        Чтобы убрать вызовы serialize/deserialize из методов и избавиться от проблем очерёдности этих вызовов. Вы просто возвращаете массив данных, которые должны попасть в итоговую строку, а потом на вход принимаете такой же массив для наполнения объекта.
        0
        По статье о замене ассоциативных массивов объектами: в типовом веб приложении, где извлекаем данные из базы и по цепочке методов передаём шаблонизатору, реальная экономия памяти составляет до 40%
          0
          В какой версии PHP?
            0
            Давно тестировал, в 5.2, сейчас должно быть ещё лучше из-за оптимизации в 7
            было примерно так: echo get_comments(123) — $post->get_comments() — $db->query — mysqli_fetch_assoc
            — съедает память из за копирования массива в каждом звене
            стало: echo get_comments(123) — $post->get_comments() — $db->query — mysqli_fetch_object
            — по сути массив ссылок передаётся и всё

            * можно передавать массив по ссылке, но это не наш путь

            главное, на что указывает автор, что в каждом массиве хранятся ещё и ключи, а в объектах нет
              0
              съедает память из за копирования массива в каждом звене

              там же copy-on-write так что "съедать" должно только если вы в каждом "звене" что-то делаете с данными.

                0
                спасибо за уточнение
                у меня там данные менялись
          0

          Из рабочего чата


          Newest PHP (7.0.18 / 7.1.4) has new “feature” (https://bugs.php.net/bug.php?id=74216) that breaks predis
            +1
            Кто-нибудь spiral успел попробовать? Как ощущения?
            Неделю назад на него наткнулся, хотел использовать в будущем rad проекте вместо yii
              +4

              Постоянно используем ее в продакшене (50+ проектов), но я автор и этот ответ не считается.

                0

                Spiral получился интересным, но я бы не стал надеяться на RAD в продакшне с новым, ещё не изученным фреймворком.

                +1
                Спасибо за полезную информацию! Статью «Построение гибких PHP приложений» перевел, https://habrahabr.ru/post/327746/
                  0
                  pronskiy а вы случайно в телеграм не транслируете эти подборки?
                    0
                    Канал дайджеста сделал https://t.me/phpdigest но пока он пуст и никак не используется. А как вы это видите? Если что меня можно найти в телеграме https://t.me/prnsk
                      +1
                      Сделал репост по каналам PHP — попробуем проинформировать о нем.
                        0
                        Супер, спасибо!
                          +1
                          Было 8 подписчиков — ужо 44 :-)

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

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