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

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017)

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) - 1


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

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) - 2 Новости и релизы

  • WordPress 4.7.2 [1] — Обновление примечательно тем, что в нем без огласки была устранена критическая уязвимость [2], позволяющая удалённому атакующему без аутентификации изменить содержимое любой страницы через манипуляцию с REST API.
    Несмотря на то что уязвимости подвержены только WordPress версий 4.7.0 и 4.7.1, по интернету прокатилась волна [3] автоматизированных атак. Взлому уже подверглись более 1,5 миллиона [4] ресурсов.
  • PhpStorm 2017.1 EAP 171.3019 [5] — В свежей EAP версии добавлена поддержка Codeception.
  • Go! AOP Framework 2.1.0 [6] — В релизе поддержка PHP 7.1 и несколько новых возможностей.
  • PHPUnit 6.0.0 [7] — Данный релиз требует PHP версии не ниже 7.0, также для большинства классов теперь используются пространства имен вместо префиксов. Полный список изменений тут [8]. Небольшой туториал [9] по миграции.
  • habr Релиз LiveStreet 2.0 [10]
  • habr Yii 2.0.11 [11]

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) - 5 PHP

  • RFC: Make Libsodium a Core Extension [12] — Предложение включить криптографическую библиотеку Libsodium в ядро успешно прошло голосование и будет реализовано уже в PHP 7.2. Сообщество также проголосовало за использование префиксного синтаксиса sodium_* вместо пространства имен Sodium*. Тем не менее уже доступна обертка firehed/sodium [13] для использования функций через пространство имен. Нельзя не отметить иронию [14] автора.
  • RFC: Arrow Functions [15] — Четвертая попытка добавить короткий синтаксис для анонимных функций в PHP.

    Первое предложение с конструкцией вида: $x ~> $x + $y не прошло голосование. Затем был предложен альтернативный синтаксис: function($x) => $x + $y. Дальше выносился на рассмотрение синтаксис: ^($x) => $x + $y. На этот раз предлагается использовать fn(parameter_list) => expr:

        function ($x) use ($y) {
            return $x + $y;
        }
    
    // Эквивалентно:
    
        fn($x) => $x + $y
    

    Кстати, инструмент 3v4l.org [16] позволяет протестировать код на RFC, для которых существует ветка с реализацией, в частности, для Arrow Functions.

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) - 6 Инструменты

  • wapmorgan/Morphos [17] — Морфологическое решение на PHP для русского языка: склонение имен и существительных, плюрализация, количественные числительные.
  • wapmorgan/BinaryStream [18] — Библиотека для удобного чтения бинарных файлов.
  • 1ma/RedisSessionHandler [19] — Обработчик сессии для Redis, в котором по сравнению со встроенным в phpredis исправлены ошибка блокировки [20] и реализована защита от фиксации сессии [21].
  • peridot-php/peridot [22] — BDD-фреймворк для тестирования. Туториал [23] по использованию. Имеется плагин для параллельного запуска тестов peridot-php/peridot-concurrency [24].
  • ericmann/sessionz [25] — Альтернативный менеджер сессий. Видеотуториал [26].
  • tommy-muehle/php-composer-plugin-devenv [27] — Дев-окружение для разработки плагинов для Composer и пост [28] от автора в поддержку.
  • maghead/maghead [29] — ORM для PHP 7 с кодогенерацией и другими фишками. Судя по бенчмарку [30], довольно быстрая.
  • wizaplace/github-to-mysql [31] — Скрипт для синхронизации данных из GitHub (issues, labels, ...) в MySQL.
  • maennchen/ZipStream-PHP [32] — Библиотека позволяет создавать zip-архив на лету и писать в поток. Пост [33] в поддержку.
  • patrickschur/language-detection [34] — Библиотека для определения языка по заданной строке.
  • SocialConnect/auth [35] — Библиотека для аутентификации через соц. сервисы (OAuth1/2, OpenID, OpenIDConnect). 20+ провайдеров из коробки (VK, FB, G+, Twitter, Steam и т.д.).

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) - 7 Материалы для обучения

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) - 14 Занимательное

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

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

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

Автор: Zfort Group

Источник [84]


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

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

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

[1] WordPress 4.7.2: https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/

[2] уязвимость: https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html

[3] прокатилась волна: https://blog.sucuri.net/2017/02/wordpress-rest-api-vulnerability-abused-in-defacement-campaigns.html

[4] 1,5 миллиона: https://www.wordfence.com/blog/2017/02/rest-api-exploit-feeding-frenzy-deface-wordpress-sites/

[5] PhpStorm 2017.1 EAP 171.3019: https://blog.jetbrains.com/phpstorm/2017/02/phpstorm-2017-1-eap-171-3019/

[6] Go! AOP Framework 2.1.0: https://github.com/goaop/framework/releases/tag/2.1.0

[7] PHPUnit 6.0.0: https://github.com/sebastianbergmann/phpunit/wiki/Release-Announcement-for-PHPUnit-6.0.0

[8] тут: https://github.com/sebastianbergmann/phpunit/blob/6.0/ChangeLog-6.0.md

[9] туториал: https://thephp.cc/news/2017/02/migrating-to-phpunit-6

[10] Релиз LiveStreet 2.0: https://habrahabr.ru/post/320848/

[11] Yii 2.0.11: https://habrahabr.ru/post/320906/

[12] RFC: Make Libsodium a Core Extension: https://wiki.php.net/rfc/libsodium

[13] firehed/sodium: https://github.com/firehed/sodium

[14] иронию: https://github.com/Firehed/sodium/blob/master/src/we_cant_have_nice_things.php

[15] RFC: Arrow Functions: https://wiki.php.net/rfc/arrow_functions

[16] 3v4l.org: https://3v4l.org

[17] wapmorgan/Morphos: https://github.com/wapmorgan/Morphos

[18] wapmorgan/BinaryStream: https://github.com/wapmorgan/BinaryStream

[19] 1ma/RedisSessionHandler: https://github.com/1ma/RedisSessionHandler

[20] ошибка блокировки: https://github.com/1ma/RedisSessionHandler#session-locking-explained

[21] фиксации сессии: https://github.com/1ma/RedisSessionHandler#session-fixation-explained

[22] peridot-php/peridot: https://github.com/peridot-php/peridot

[23] Туториал: https://www.sitepoint.com/testing-frenzy-can-we-bdd-test-the-units/

[24] peridot-php/peridot-concurrency: https://github.com/peridot-php/peridot-concurrency

[25] ericmann/sessionz: https://github.com/ericmann/sessionz

[26] Видеотуториал: https://nomadphp.com/transparent-session-management-sessionz/

[27] tommy-muehle/php-composer-plugin-devenv: https://github.com/tommy-muehle/php-composer-plugin-devenv

[28] пост: https://tommy-muehle.github.io/2017/02/07/composer-plugin-development-environment/

[29] maghead/maghead: https://github.com/maghead/maghead

[30] бенчмарку: https://github.com/c9s/forked-php-orm-benchmark#php-cli-710

[31] wizaplace/github-to-mysql: https://github.com/wizaplace/github-to-mysql

[32] maennchen/ZipStream-PHP: https://github.com/maennchen/ZipStream-PHP

[33] Пост: https://engineering.weebly.com/blog/streamed-file-zipping-and-downloading-in-php

[34] patrickschur/language-detection: https://github.com/patrickschur/language-detection

[35] SocialConnect/auth: https://github.com/socialConnect/auth

[36] PHP’s not dead!: https://tech.olx.com/phps-not-dead-php7-in-practice-2c95b7a5c56#.eel6m6s4u

[37] Путеводитель по нововведениям PHP 7.0 и 7.1: https://denisyuk.by/all/putevoditel-po-novovvedeniyam-php7/

[38] mnapoli/fluent-symfony: https://github.com/mnapoli/fluent-symfony

[39] wallabag/wallabag: https://github.com/wallabag/wallabag

[40] iOS: https://github.com/wallabag/ios-app

[41] Android: https://github.com/wallabag/android-app

[42] расширения для Chrome: https://github.com/wallabag/wallabagger

[43] gpslab/geoip2: https://github.com/gpslab/geoip2

[44] ghost404: https://habrahabr.ru/users/ghost404/

[45] Symfony Demo 1.0.0: http://symfony.com/blog/symfony-demo-1-0-0-released

[46] В Symfony 3.3 будет реализован стандарт PSR-11 для контейнеров: https://symfony.com/blog/new-in-symfony-3-3-psr-11-containers

[47] Голосование: https://groups.google.com/forum/#!msg/php-fig/bU_iHdk38nE/XJoYk7Q7BAAJ

[48] PSR-11: https://github.com/php-fig/fig-standards/blob/master/proposed/container.md

[49] Неделя Symfony #527 (30 января — 5 февраля 2017): http://symfony.com/blog/a-week-of-symfony-527-30-january-5-february-2017

[50] Неделя Symfony #528 (6-12 февраля 2017): http://symfony.com/blog/a-week-of-symfony-528-6-12-february-2017

[51] Yii2 Inspections for IntelliJ IDEA (PhpStorm) 1.0.0: https://plugins.jetbrains.com/idea/plugin/9400-yii2-inspections/32125-update

[52] craftcms/cms: https://github.com/craftcms/cms

[53] 13 генераторов админок для Laravel: https://laravel-news.com/13-laravel-admin-panel-generators

[54] Масштабирование Laravel с помощью AWS Elastic Beanstalk: https://deliciousbrains.com/scaling-laravel-aws-elastic-beanstalk-part-1-setting-up-laravel/

[55] Laracon Online: https://laracon.net/

[56] Криптографически безопасная разработка на PHP: https://paragonie.com/blog/2017/02/cryptographically-secure-php-development

[57] Приведение типов и внедрение объекта: https://foxglovesecurity.com/2017/02/07/type-juggling-and-php-object-injection-and-sqli-oh-my/

[58] Awesome Composer: https://github.com/jakoch/awesome-composer

[59] Как сделать PHP еще более современным? С помощью препроцессинга!: https://www.sitepoint.com/how-to-make-modern-php-more-modern-with-preprocessing/

[60] preprocess.io: https://preprocess.io/

[61] marcioAlmada/yay: https://github.com/marcioAlmada/yay

[62] Туториал по работе с Reddit API: https://www.sitepoint.com/taming-the-snoo-playing-with-the-reddit-api/

[63] Короткое введение в TypeScript для PHP-разработчиков: https://www.symfony.fi/entry/a-practical-introduction-to-typescript-for-php-developers

[64] Вводный туториал по использованию RabbitMQ: http://blog.eleven-labs.com/en/rabbitmq-publish-consume-retry-messages/

[65] Запускаем PHPUnit тесты внутри Docker-контейнера из PhpStorm: https://blog.alejandrocelaya.com/2017/02/01/run-phpunit-tests-inside-docker-container-from-phpstorm/

[66] Пагинация коллекций данных с помощью: https://framework.zend.com/blog/2017-01-31-zend-paginator.html

[67] zend-paginator: https://github.com/zendframework/zend-paginator

[68] Об ответах с ошибками API в PSR-7: https://akrabat.com/rendering-apiproblem-with-psr-7/

[69] Заметка об использовании констант в PHP-приложении: http://mamchenkov.net/wordpress/2017/01/30/sharing-constants-between-php-classes/

[70] Введение в проектирование сущностей, проблемы создания объектов: https://habrahabr.ru/post/321340/

[71] Tarantool: Хороший, Плохой, Злой: https://habrahabr.ru/post/321252/

[72] Как создать Viber-бота с помощью PHP: https://habrahabr.ru/post/321246/

[73] Отчет и материалы конференции MageConf 2016: https://habrahabr.ru/post/320932/

[74] Немного истории PHP: https://toys.lerdorf.com/archives/61-A-bit-of-PHP-history.html

[75] hannob/php-crashers: https://github.com/hannob/php-crashers

[76] Рейтинг e-commerce платформ с открытым исходным кодом: https://www.ecommwar.com/

[77] XSS game: https://xss-game.appspot.com/

[78] личку: https://habrahabr.ru/conversations/pronskiy/

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

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

[81] Прислать ссылку: https://bit.ly/php-digest-add-link

[82] Быстрый поиск по всем дайджестам: https://pronskiy.com/php-digest/

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

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