- PVSM.RU - https://www.pvsm.ru -

PHP-Дайджест № 86 – интересные новости, материалы и инструменты (15 – 29 мая 2016)

PHP-Дайджест № 86 – интересные новости, материалы и инструменты (15 – 29 мая 2016) - 1

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

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

PHP-Дайджест № 86 – интересные новости, материалы и инструменты (15 – 29 мая 2016) - 2 Новости и релизы

PHP-Дайджест № 86 – интересные новости, материалы и инструменты (15 – 29 мая 2016) - 5 PHP

  • RFC: Fix inconsistent behavior of $this variable [16] — Предлагается убрать возможность использования $this в конструкциях с непредсказуемым поведением:
    // Запретить использование в качестве имени параметра
    function foo($this) {
    }
    
    // Запретить использование в качестве статической переменной
    static $this; 
    
    // Запретить использование как глобальной переменной
    global $this; 
    
    // Запретить использование в качестве переменной исключения в catch
    try {
      ...
    } catch (Exception $this) { // Fatal error: Cannot re-assign $this
    }
    
    // Запретить использование в foreach
    foreach ($a as $this) { 
    }
    
    // Запретить использование в unset()
    unset($this); 
    
    // Запретить обращение через $$
    $a = "this";
    $$a = 42; 
    

    и другие.

PHP-Дайджест № 86 – интересные новости, материалы и инструменты (15 – 29 мая 2016) - 6 Инструменты

  • nazar-pc/stream-slicer [17] — Простой инструмент для получения срезов потоков (ресурсов). Присал nazarpc [18].
  • nazar-pc/phpt-tests-runner [19] — Запускалка для PHPT тестов: улучшенный формат файлов, цветной результат в терминале. Прислал nazarpc [18].
  • giorgiosironi/eris [20] — Property-based тестирование на PHP.
  • spatie/packagist-api [21] — Обертка для работы с API Packagist. Пост [22] в поддержку.
  • phpfmt/fmt [23] — Расширенный форматер кода с плагинами для Sublime, Vim, PhpStorm.
  • clue/php-redis-react [24] — Асинхронный клиент для Redis.
  • krzysztof-gzocha/searcher [25] — Билдер поисковых запросов, которые не зависят от хранилища и могут выполняться как на MySQL, так и на MongoDB и над файлами.
  • Tolerance/Tolerance [26] — Библиотека для реализации отказоустойчивых сервисов.
  • reisraff/phulp [27] — Менеджер задач — Gulp [28] для PHP.
  • Nicolab/php-ftp-client [29] — Гибкий FTP-клиент для PHP.
  • robmorgan/phinx [30] — Популярная библиотека миграций для БД. Туториал [31] по использованию.
  • dunglas/phpdoc-to-typehint [32] — Инструмент под PHP 7 для преобразования типов из PhpDoc в нативные тайпхинты.
  • defuse/php-encryption [33] — Безопасная библиотека для шифрования. Пост [34] об изменениях в версии 2.0.

PHP-Дайджест № 86 – интересные новости, материалы и инструменты (15 – 29 мая 2016) - 7 Материалы для обучения

PHP-Дайджест № 86 – интересные новости, материалы и инструменты (15 – 29 мая 2016) - 20 Занимательное

  • sgolemon/table-flip [63]if ($situation === SHIT::HAPPENED) {(╯°□°)╯︵┻━┻(); }

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

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

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

Прислать ссылку [67]
Быстрый поиск по всем дайджестам [68]
Предыдущий выпуск: PHP-Дайджест № 85 [69]

Автор: Zfort Group

Источник [70]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/123559

Ссылки в тексте:

[1] Предложен новый PSR-стандарт: HTTP Middleware: https://github.com/shadowhand/fig-standards/blob/c7929423603306f213cbaccb5a00969cea86da52/proposed/middleware.md

[2] Slim: http://www.slimframework.com/docs/concepts/middleware.html

[3] Relay: https://github.com/relayphp/Relay.Relay

[4] Laravel: https://laravel.com/docs/master/middleware

[5] StackPHP: http://stackphp.com/

[6] посте: http://blog.ircmaxell.com/2016/05/all-about-middleware.html

[7] Tari-PHP: https://github.com/ircmaxell/Tari-PHP

[8] ответ: http://shadowhand.me/all-about-psr-7-middleware/

[9] DevConf::PHP 2016 — заканчивается финальное голосование по докладам секции, успей отдать свой голос до 31 мая: https://habrahabr.ru/company/devconf/blog/301806/

[10] Приглашаем на Symfony Moscow Meetup 2 июня: https://habrahabr.ru/company/mailru/blog/301744/

[11] PHP 5.5.36: http://php.net/archive/2016.php#id2016-05-26-2

[12] 5.6.22: http://php.net/archive/2016.php#id2016-05-26-3

[13] 7.0.7: http://php.net/archive/2016.php#id2016-05-26-1

[14] Silex v2.0.0: https://github.com/silexphp/Silex/

[15] Полный список изменений: https://github.com/silexphp/Silex/blob/master/doc/changelog.rst#200-2016-05-18

[16] RFC: Fix inconsistent behavior of $this variable: https://wiki.php.net/rfc/this_var

[17] nazar-pc/stream-slicer: https://github.com/nazar-pc/stream-slicer

[18] nazarpc: https://habrahabr.ru/users/nazarpc/

[19] nazar-pc/phpt-tests-runner: https://github.com/nazar-pc/phpt-tests-runner

[20] giorgiosironi/eris: https://github.com/giorgiosironi/eris

[21] spatie/packagist-api: https://github.com/spatie/packagist-api

[22] Пост: https://murze.be/2016/05/getting-package-statistics-packagist/

[23] phpfmt/fmt: https://github.com/phpfmt/fmt

[24] clue/php-redis-react: https://github.com/clue/php-redis-react

[25] krzysztof-gzocha/searcher: https://github.com/krzysztof-gzocha/searcher

[26] Tolerance/Tolerance: https://github.com/tolerance/tolerance

[27] reisraff/phulp: https://github.com/reisraff/phulp

[28] Gulp: http://gulpjs.com/

[29] Nicolab/php-ftp-client: https://github.com/Nicolab/php-ftp-client

[30] robmorgan/phinx: https://github.com/robmorgan/phinx

[31] Туториал: https://www.sitepoint.com/phinx-the-migration-library-you-never-knew-you-needed/

[32] dunglas/phpdoc-to-typehint: https://github.com/dunglas/phpdoc-to-typehint

[33] defuse/php-encryption: https://github.com/defuse/php-encryption

[34] Пост: https://paragonie.com/blog/2016/05/defuse-security-s-php-encryption-library-version-2-0-0-released

[35] symfony-bundles/queue-bundle: https://github.com/symfony-bundles/queue-bundle

[36] khaperets: https://habrahabr.ru/users/khaperets/

[37] symfony-bundles/bundle-dependency: https://github.com/symfony-bundles/bundle-dependency

[38] symfony-bundles/event-queue-bundle: https://github.com/symfony-bundles/event-queue-bundle

[39] Создание блога на Symfony 2.8 lts: https://habrahabr.ru/post/301760/

[40] Часть 2: https://habrahabr.ru/post/302032/

[41] axiles89/yii2-sharding: https://github.com/axiles89/yii2-sharding

[42] axiles89/yii2-coordinator: https://github.com/axiles89/yii2-coordinator

[43] DevConf:: Хакатон по Yii в ТАСС 18-19 июля 2016: https://habrahabr.ru/company/devconf/blog/301828/

[44] DevConf 2016: Интервью с одним из разработчиков Yii: https://habrahabr.ru/company/devconf/blog/301114/

[45] Приемочное тестирование Laravel + Vue.js приложения: https://dotdev.co/acceptance-testing-a-laravel-and-vue-js-application-4160b8e96156#.gcbbjiw2z

[46] Настройка Laravel relationships — подсчет комментариев (вольный перевод): https://habrahabr.ru/post/302000/

[47] Обзор изменений в PHP 7.1: https://dotdev.co/upcoming-changes-in-php-7-1-76ebea53b820#.ynausa1pm

[48] Введение в тестирование с помощью Codeception: https://www.toptal.com/php/php-testing-with-codeception

[49] Обнаружение различий в изображениях с помощью PHP: https://www.sitepoint.com/finding-differences-in-images-with-php/

[50] Перeусложнение контейнеров служб в PHP: https://www.mpscholten.de/software-engineering/2016/05/21/accidental-complexity-caused-by-service-containers-in-the-php-world.html

[51] Динамическое внедрение зависимостей: http://pwm.github.io/dynamic-dependency-injection/

[52] Введение в локализацию с помощью Php-Intl: https://www.sitepoint.com/localization-demystified-understanding-php-intl/

[53] Локализация дат, валют, чисел с помощью Php-Intl: https://www.sitepoint.com/localizing-dates-currency-and-numbers-with-php-intl/

[54] Единая аутентификация между socket.io и PHP: https://gonzalo123.com/2016/05/16/sharing-authentication-between-socket-io-and-a-php-frontend/

[55] Тестирование нагрузки на сайт: http://ruhighload.com/post/%D0%A2%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8+%D0%BD%D0%B0+%D1%81%D0%B0%D0%B9%D1%82

[56] Никогда не используйте NULL: http://ahrameev.ru/article/nikogda-ne-ispolzujjte-null.html

[57] Структуризация проекта в WordPress, Laravel Blade и не только: https://habrahabr.ru/post/301848/

[58] Websocket в продакшене: https://habrahabr.ru/post/301822/

[59] Dependency Injection контейнер от PHPixie: https://habrahabr.ru/post/301648/

[60] PHP, статические переменные внутри методов класса и история одного бага: https://habrahabr.ru/post/301478/

[61] Многопоточные вычисления в PHP: pthreads: https://habrahabr.ru/post/300952/

[62] Неизменяемые объекты в PHP: https://habrahabr.ru/company/mailru/blog/301004/

[63] sgolemon/table-flip: https://github.com/sgolemon/table-flip

[64] личку: http://habrahabr.ru/conversations/pronskiy/

[65] почту: mailto:roman@pronskiy.com

[66] твиттер: https://twitter.com/pronskiy

[67] Присылайте ссылки: http://bit.ly/php-digest-add-link

[68] не было в PHP-Дайджестах: http://pronskiy.github.io/php-digest/

[69] Предыдущий выпуск: PHP-Дайджест № 85: https://habrahabr.ru/company/zfort/blog/300832/

[70] Источник: https://habrahabr.ru/post/302104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best