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

PHP-Дайджест № 121 (20 ноября – 10 декабря 2017)

PHP-Дайджест № 121 (20 ноября – 10 декабря 2017) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0, Symfony 4 и другие релизы, предложение из PHP Internals, материалы по фреймворкам, асинхронный PHP, порция полезных инструментов, и многое другое. Приятного чтения!

PHP-Дайджест № 121 (20 ноября – 10 декабря 2017) - 2 Новости и релизы

PHP-Дайджест № 121 (20 ноября – 10 декабря 2017) - 4 PHP Internals

  • RFC: Explicit call-site pass-by-reference [18] — Отличное предложение от Никиты Попова. На данный момент тот факт, что функция принимает аргумент по ссылке обозначается только в определении самой функции:
    function inc(&$num) { $num++; }
     
    $i = 0;
    inc($i);
    var_dump($i); // int(1)
    

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

    function inc(&$num) { $num++; }
     
    $i = 0;
    inc(&$i);
    var_dump($i); // int(1)
    

PHP-Дайджест № 121 (20 ноября – 10 декабря 2017) - 5 Инструменты

  • yiisoft/di [19] — Экспериментальный независимый от фреймворка и совместимый с PSR-11 DI-контейнер и инжектор от команды Yii.
  • PHPStan 0.9 [20] — Отличный статический анализатор для PHP. Подробнее о релизе 0.9 в посте [21] автора. Онлайн-песочница [22] для проверки кода.
  • Indatus/trucker [23] — Пакет для использования удаленных ресурсов API (обычно RESTful) как моделей в стиле ActiveResource.
  • coraxster/flysystem-owncloud [24], coraxster/flysystem-aws-s3-v3-minio [25] — Пара провайдеров для Flysystem: Owncloud [26] и Minio [27] соответственно. Прислал corax [28].
  • acelot/automapper [29] — Автомаппер данных для PHP 7. Прислал eee [30].
  • javibravo/simpleue [31] — Простая очередь и воркеры с поддержкой AWS SQS, Redis, Beanstalkd в качестве бэкенда.
  • rectorphp/rector [32] — Инструмент для обновления ваших приложений на основе AST.
  • apioo/fusio [33] — Открытая платформа управления API на PHP.
  • TinyLara/TinyLara [34] — Простой микрофреймворк.
  • arvenil/ninja-mutex [35] — Реализация мьютекса для PHP с поддержкой различных адаптеров (flock, memcache, mysql, redis, ...).

PHP-Дайджест № 121 (20 ноября – 10 декабря 2017) - 6 Материалы

PHP-Дайджест № 121 (20 ноября – 10 декабря 2017) - 26 Занимательное

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

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

Прислать ссылку [84]
Поиск ссылок по всем дайджестам [85]

Предыдущий выпуск: PHP-Дайджест № 120 [86]

Автор: Роман Пронский

Источник [87]


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

Путь до страницы источника: https://www.pvsm.ru/php-2/270365

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

[1] PHP 7.2.0: http://php.net/releases/7_2_0.php

[2] Новый тип object: https://wiki.php.net/rfc/object-typehint

[3] Криптографическая библиотека Sodium в ядре: https://wiki.php.net/rfc/libsodium

[4] Хеширование пароля с помощью Argon2: https://wiki.php.net/rfc/argon2_password_hash

[5] Эмуляции подготовленных выражений: https://wiki.php.net/rfc/debugging_pdo_prepared_statement_emulation_v2

[6] Расширение типа параметра: https://wiki.php.net/rfc/parameter-no-type-variance

[7] Множество функций объявлены устаревшими: https://wiki.php.net/rfc/deprecations_php_7_2

[8] Полный список изменений: https://secure.php.net/ChangeLog-7.php#7.2.0

[9] как установить PHP 7.2: https://www.colinodell.com/blog/201711/installing-php-72

[10] Symfony 4: http://symfony.com/blog/hello-symfony-4

[11] Symfony Flex: https://medium.com/@fabpot/symfony-4-a-quick-demo-da7d32be323

[12] Авторегистрируемы и автоподключаемые: https://symfony.com/doc/current/service_container/3.3-di-changes.html

[13] Webpack Encore: https://symfony.com/doc/current/frontend.html

[14] Доступен PhpStorm 2017.3: https://habrahabr.ru/company/JetBrains/blog/343474/

[15] PSR-15 Server Request Handlers: https://groups.google.com/forum/#!msg/php-fig/l2hdE0DTgYw/oZWOwe-6BAAJ

[16] PHP 7.0.26: http://php.net/archive/2017.php#id2017-11-23-2

[17] PHP 7.1.12: http://php.net/archive/2017.php#id2017-11-24-1

[18] RFC: Explicit call-site pass-by-reference: https://wiki.php.net/rfc/explicit_send_by_ref

[19] yiisoft/di: https://github.com/yiisoft/di

[20] PHPStan 0.9: https://github.com/phpstan/phpstan

[21] о релизе 0.9 в посте: https://medium.com/@ondrejmirtes/phpstan-0-9-a-huge-leap-forward-1e9b0872d1cc

[22] Онлайн-песочница: https://phpstan.org/

[23] Indatus/trucker: https://github.com/Indatus/trucker

[24] coraxster/flysystem-owncloud: https://github.com/coraxster/flysystem-owncloud

[25] coraxster/flysystem-aws-s3-v3-minio: https://github.com/coraxster/flysystem-aws-s3-v3-minio

[26] Owncloud: https://owncloud.org/

[27] Minio: https://www.minio.io/

[28] corax: https://habrahabr.ru/users/corax/

[29] acelot/automapper: https://github.com/acelot/automapper

[30] eee: https://habrahabr.ru/users/eee/

[31] javibravo/simpleue: https://github.com/javibravo/simpleue

[32] rectorphp/rector: https://github.com/rectorphp/rector

[33] apioo/fusio: https://github.com/apioo/fusio

[34] TinyLara/TinyLara: https://github.com/TinyLara/TinyLara

[35] arvenil/ninja-mutex: https://github.com/arvenil/ninja-mutex

[36] Symfony 3.4.0: http://symfony.com/blog/symfony-3-4-0-released

[37] Список: http://symfony.com/blog/symfony-3-4-curated-new-features

[38] Будущий релиз Symfony 4.0 и проект с использованием Symfony Flex: https://habrahabr.ru/post/343030/

[39] Обзор Symfony 4: https://medium.com/@zawadzki.jerzy/symfony-4-new-hope-dbf99dde91d8

[40] Добавляем GraphQL API в приложение Symfony Flex: https://symfony.fi/entry/adding-a-graphql-api-to-your-symfony-flex-app

[41] Неймспейсы и организация сервисов бизнес-логики в Symfony: http://phpprofi.ru/blogs/post/83

[42] krlove/async-service-call-bundle: https://github.com/krlove/async-service-call-bundle

[43] Андрей Мищенко: https://github.com/krlove

[44] wouterj/WouterJEloquentBundle: https://github.com/WouterJ/WouterJEloquentBundle

[45] Неделя Symfony #569 (20-26 ноября 2017): http://symfony.com/blog/a-week-of-symfony-569-20-26-november-2017

[46] Неделя Symfony #570 (27 ноября — 3 декабря 2017): http://symfony.com/blog/a-week-of-symfony-570-27-november-3-december-2017

[47] Неделя Symfony #571 (4-10 декабря 2017): http://symfony.com/blog/a-week-of-symfony-571-4-10-december-2017

[48] Yii PHP Framework принял AMQP Interop: https://blog.forma-pro.com/yii-php-framework-has-adopted-amqp-interop-85ab47c9869f

[49] yiisoft/yii2-queue: https://github.com/yiisoft/yii2-queue

[50] queue-interop/amqp-interop: https://github.com/queue-interop/amqp-interop

[51] Павел Климов: «Ф’Yii’лософия»: https://www.youtube.com/watch?v=x7-G4tHFSj8

[52] Павел Климов: «Yii: миграции и инсталляции»: https://www.youtube.com/watch?v=6_BoYnDZOTk

[53] Конвертер SQL-запроса в синтаксис Laravel Query Builder: http://www.midnightcowboycoder.com/

[54] jarektkaczyk/eloquence: https://github.com/jarektkaczyk/eloquence

[55] Создание собственных PHP функций в Laravel проекте: https://habrahabr.ru/post/344342/

[56] Неделя Zend Framework 2017-11-30: https://tinyletter.com/mwopzend/letters/zend-framework-community-news-for-the-week-of-2017-11-30

[57] Неделя Zend Framework 2017-12-07: https://tinyletter.com/mwopzend/letters/zend-framework-community-news-for-the-week-of-2017-12-07

[58] Роман Пронский: «Асинхронный PHP»: https://www.youtube.com/watch?v=n6Iasl6bx4M

[59] ReactPHP PromiseStream: О конвертации промиса в стрим и наоборот: http://sergeyzhuk.me/2017/12/07/reactphp-promise-stream/

[60] Создание клиента для Memcached на ReactPHP: юнит-тестирование промисов: http://sergeyzhuk.me/2017/11/20/memcached-reactphp-p4/

[61] Расширение дочерних процессов для ReactPHP: https://blog.wyrihaximus.net/2017/11/extending-react-child-process-part-two/

[62] Введение в промисы ReactPHP: https://robertbasic.com/blog/reacting-to-promises/

[63] Месяц WordPress: ноябрь 2017: https://wordpress.org/news/2017/12/the-month-in-wordpress-november-2017/

[64] Magento Tech Digest #7 — News, Tutorials and Tools (November 14 — December 4, 2017): https://www.maxpronko.com/blog/magento-tech-digest-6-news-tutorials-and-tools-november-13-december-4

[65] Найди уязвимость в PHP-коде: https://www.ripstech.com/php-security-calendar-2017/

[66] Как читать большие файлы на PHP: https://www.sitepoint.com/performant-reading-big-files-php/

[67] Тюнинг PHP-FPM: https://www.sitepoint.com/php-fpm-tuning-using-pm-static-max-performance/

[68] Оптимизация markdown-парсера: https://www.sitepoint.com/optimizing-league-commonmark-blackfire-io/

[69] Blackfire.io: https://blackfire.io/

[70] Opensource нам строить и жить помогает: интервью разработчика Yii Framework Александра Макарова: https://habrahabr.ru/company/skyeng/blog/343490/

[71] Selenium Manager: история одного интерфейса: https://habrahabr.ru/company/badoo/blog/344030/

[72] Архитектура сервиса сбора и классификации объявлений жилья из Вконтакте: https://habrahabr.ru/post/342220/

[73] Конструктор XML-строки из PHP-массива: https://habrahabr.ru/post/343636/

[74] Ещё один Telegram-бот для видеонаблюдения: https://habrahabr.ru/post/343616/

[75] Регулярные выражения для самых маленьких: https://habrahabr.ru/company/badoo/blog/343310/

[76] Переход с PHP на GO...: https://medium.com/@ivanjaros/moving-from-php-to-go-6f06989b3e12

[77] и обратно: https://medium.com/@ivanjaros/moving-from-php-to-go-and-back-again-9ea1f57018c4

[78] KISS: https://ru.wikipedia.org/wiki/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF)

[79] https://t.co/rORz8xdCQp: https://t.co/rORz8xdCQp

[80] December 7, 2017: https://twitter.com/levelsio/status/938707166508154880?ref_src=twsrc%5Etfw

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

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

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

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

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

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

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