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

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


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




PHP


  • RFC: Typesafe callable — Фактически предлагается реализовать интерфейсы для анонимных функций. Альтернативный RFC Callable Interfaces.
    callable FilterCallable(string $input) : string;
    
    function foo(FilterCallable $filter) : string
    {
        return $filter('bar');
    }
     
    foo(function (string $foo) : string { return trim($foo); });
    

  • RFC Short List Syntax — Предлагается реализовать возможность использования квадратных скобок вместо конструкции list():
    <?php
     
    // Строки попарно эквивалентны
     
    list($a, $b, $c) = array(1, 2, 3);
    [$a, $b, $c] = [1, 2, 3];
     
    list("a" => $a, "b" => $b, "c" => $c) = array("a" => 1, "b" => 2, "c" => 3);
    ["a" => $a, "b" => $b, "c" => $c] = ["a" => 1, "b" => 2, "c" => 3];
     
    list($a, $b) = array($b, $a);
    [$a, $b] = [$b, $a];
    


Инструменты


  • gabrielrcouto/php-gui — Инструмент позволяет создавать десктопные приложения с графическим интерфейсом на PHP без необходимости устанавливать дополнительные расширения.
  • Imangazaliev/DiDOM — Простая и быстрая библиотека для парсинга HTML. Сравнение с другими парсерами.
  • morozovsk/websocket — Простой WebSocket-сервер с поддержкой PHP 7 и интеграцией с Yii/Yii2. Прислал morozovsk.
  • FriendsOfPHP/Sismo — Сервер непрерывного тестирования. Туториал по использованию.
  • phpconsole/phpconsole — Инструмент отладки, позволяет отправлять и затем просматривать отладочную информацию на phpconsole.com.
  • azuyalabs/yasumi — Библиотека для расчета национальных праздников.
  • yuloh/expect — Альтернатива Unix-инструменту expect на чистом PHP.
  • versionpress/versionpress — Плагин для WordPress реализует систему контроля версий на основе Git. Позволяет контролировать практически любые изменения в контенте и инфраструктуре WordPress.
  • Corveda/PHPSandbox — Песочница для выполнения PHP, позволяет выполнять любой код, не допуская вызова потенциально опасных конструкций.


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




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




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

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

Присылайте ссылки на интересные статьи или полезные инструменты, которых не было в PHP-Дайджестах, и ваше имя будет рядом с присланной ссылкой в выпуске.

Прислать ссылку
Быстрый поиск по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 82

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


  1. SamDark
    10.04.2016 23:57
    +3

    Что такое Humble Object и как он помогает сделать код более тестируемым?

    Там разве не на JavaScript примеры?


    1. Big_Shark
      11.04.2016 07:26
      +1

      Там даже теги на это намекают: JavaScript, Sinon, Testing


    1. pronskiy
      11.04.2016 11:35

      Виноват, спасибо за замечание! Убрал :-)


  1. Mendel
    11.04.2016 08:33
    +1

    Подскажите, а насколько код «Простой WebSocket-сервер» пригоден для прода?
    Вроде код слегка не причесан, проект с 2014 не особо развивался, в статьях на Хабре критика была заметна.
    С другой стороны он прост как тапок.
    Из минусов вижу только отсутствие пинг-понга и отсутствие альтернативы на случай если в пути что-то помешало (хоть аяксовую обертку).
    Пинг-понг в принципе можно и на высоком уровне сделать, как плюс может быть например убивание сессий с неактивными окнами.
    Аяксовую обертку тоже не сложно дописать. Но если там еще сюрпризы будут, то как-то страшновато.
    Я с вебсокетами на Вы, по принципу черного ящика…


    1. morozovsk
      11.04.2016 11:15

      «он прост как тапок» — это основной момент, он предназначен для снижения порога вхождения в вебсокеты для php-программиста.
      Да с 2014 он не особо развивался, добавить пинг-понг есть в планах, было исправлено немало багов и протестирована работа на php7.
      Я использую его в продакшене уже несколько лет, утечек памяти не было. Демки (чаты и игры) были запущены больше года и никаких проблем не наблюдалось.
      Всё время с его создания я думал, что поиграюсь и перейду на что-то более серьёзное, но мне его функционала достаточно, есть примеры по интеграции в мой любимый фреймворк, я знаю как его правильно готовить.
      Из альтернатив могу посоветовать http://socketo.me/ единственное не знаю на чём он работает внутри (socket_select, pecl/event or pecl/libevent) и какие соответственно имеет ограничения.


      1. Mendel
        11.04.2016 12:43
        +1

        Ну меня он как раз как «тапок» и интересует.
        Так то жирных вещах в проде живут монстрики на базе сокет.ио.
        Но на более-менее легких (да и просто на свежих проектах) хочется сокращать количество франкенштейнизма.
        Сейчас в пуле задач на не срочно есть чЯтик «чтобы было», т.е. хотим добавить в админке ЦМС чат между менеджерами/админами/пользователями. В некоторых проектах оно необходимо, в других — просто как фишка. Здесь вполне достаточно вебсокеты + воркараунд с «аякс раз в 5 сек».
        Вторая задача — обновить работу с графиками. Тут есть сомнения — аякс точно не устраивает по скоростному режиму, а городить мультипротокольные решения — проще остаться на сокет.ио. По крайней мере на живых проектах. А для новых? Для новых я пока в задумчивости — насколько оно существенно сейчас? Каков процент тех у кого оно не взлетит? Теоретически некоторой интерактивностью для части мобильной аудитории пожертвовать можно без проблем, там и так задержек хватает, мобильная работа это запасное решение, не основное.

        В общем в задумчивости я. С одной стороны — тапок, и уменьшение лишних технологий.
        С другой стороны совместимость… В общем классическая проблема на подобии «когда прекращать поддержку ие6/7/8?» :)

        ПС: За комментарий благодарю в любом случае. Частично понимания больше стало. ЗА библиотеку вдвойне благодарность. Как минимум как шпаргалка по технологии полезна будет. Читать код всегда приятнее чем теоретические учебники.


    1. DeLuxis
      11.04.2016 11:35
      +1

      ИМХО для небольшого функционала вполне годится. Фулл WebSocket сервис писать не стоит разумеется.


  1. jigpuzzled
    11.04.2016 10:44
    +2

    Не знаю упоминалось ли уже, но на Gitter есть хороший русскоязычный (ну почти) PHP чат. Я когда-то искал и не мог найти даже русского PHP-шного IRC канала, а попался он. Хорошо бы было его чуток популяризировать в дайджесте:

    https://gitter.im/dev-ua/php

    P.S. если я слеп и все таки существуют иные чаты/IRC то буду очень признателен за линк


  1. babylon
    11.04.2016 13:09
    +1

    Спасибо за материалы


  1. maxru
    11.04.2016 18:34

    > gabrielrcouto/php-gui

    Никогда такого не было, и вот опять


    1. Davert
      12.04.2016 11:55

      идея может и неплоха, но дичайше устарела. Зачем рисовать интерфейс по кнопка и по координатам, если можно всё делать через HTML/CSS и рендерить хромиумом, как это делает электрон. Так что, увы, не взлетит