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

PHP-Дайджест № 134 (24 июня – 8 июля 2018)

PHP-Дайджест № 134 (24 июня – 8 июля 2018) - 1

В выпуске: PHP 7.3.0 alpha 3, PHPStan 0.10, Yii 1.1.20 и другие релизы, свежее предложение из PHP Internals по сравнению объектов, порция полезных инструментов, и многое другое.
Приятного чтения!

PHP-Дайджест № 134 (24 июня – 8 июля 2018) - 2 Новости и релизы

  • PHP 7.3.0 alpha 3 [1] — Последний альфа-релиз перед «заморозкой фич». Beta 1 запланирована на 19 июля. Впрочем, даты могут сдвинуться, если будет принято решение [2] включить типизированные свойства [3] в 7.3.
  • PHP 7.1.19 [4]
  • PHP ODESSA CONF 2018 [5] — 11 августа в Одессе пройдет масштабная PHP-конференция. Для читателей PHP-Дайджеста доступен промокод со скидкой 10%: PHPDIGEST

PHP-Дайджест № 134 (24 июня – 8 июля 2018) - 3 PHP Internals

  • habr PHP 8: чего ждать. Письмо Зеева Сураски [6]
    Демо производительности PHP 7.0 vs JIT PoC для генерации фракталов

  • [RFC] Class Friendship [7] — Стартовало голосование по добавлению дружественных классов. Дружественный класс имеет доступ к private и protected полям класса, в котором он объявлен дружественным.
  • [RFC] User-defined object comparison [8] — В документе рассмотрены проблемы сравнения объектов в PHP. Предлагается добавить два новых магических метода: __compareTo и __equals.
    Скрытый текст

    class Example
    {
        /**
         * Returns: < 0 if $this is less than $other,
         *          > 0 if $this is greater than $other,
         *         == 0 if $this is equal to $other.
         */
        public function __compareTo($other): int
        {
            ...
        }
     
        /**
         * @returns bool TRUE if $this is equal to $other, FALSE otherwise.
         */
        public function __equals($other): bool
        {
            ...
        }
    }
    
  • dstogov/php-tensorflow [9] — Благодаря реализации FFI [10], станет возможным делать легковесные биндинги для сторонних библиотек. В качестве примера Дмитрий Стогов демонстрирует обертку наl TensorFlow [11].

PHP-Дайджест № 134 (24 июня – 8 июля 2018) - 5 Инструменты

  • Infection 0.9.0 [12] — Обновление фреймворка для мутационного тестирования на основе AST.
  • PHPStan 0.10 [13] — Мощный статический анализатор для PHP. Онлайн-песочница [14] для проверки кода.
  • sebastianfeldmann/phpbu [15] — Инструмент для создания резервных копий файлов и баз данных. Умеет шифровать бэкапы и отправлять в хранилища.
  • leviy/release-tool [16] — CLI-инструмент для релиза новых версий продуктов.
  • mediact/dependency-guard [17] — Инструмент покажет неиспользуемые composer-зависимости. А также те, которые используются в коде, но установлены как dev-зависимости.
  • ackintosh/snidel [18] — Позволяет легко выполнять код параллельно в форке процесса. Альтернатива spatie/async [19]
  • php-lock/lock [20] — Реализация мьютекса для PHP с поддержкой различных адаптеров (flock, memcache, mysql, redis, ...). Альтернатива symfony/lock [21].
  • Imangazaliev/DiDOM [22] — Простая и быстрая библиотека для парсинга HTML. Свежий туториал [23] в поддержку.

PHP-Дайджест № 134 (24 июня – 8 июля 2018) - 6 Материалы для обучения

PHP-Дайджест № 134 (24 июня – 8 июля 2018) - 24 Аудио и видеоматериалы

PHP-Дайджест № 134 (24 июня – 8 июля 2018) - 27 Занимательное

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

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

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

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

Источник [72]


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

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

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

[1] PHP 7.3.0 alpha 3: http://php.net/index.php#id2018-07-05-1

[2] принято решение: https://externals.io/message/102333#102640

[3] типизированные свойства: https://wiki.php.net/rfc/typed_properties_v2

[4] PHP 7.1.19: http://php.net/ChangeLog-7.php#7.1.19

[5] PHP ODESSA CONF 2018: http://codeid.com.ua/

[6] PHP 8: чего ждать. Письмо Зеева Сураски: https://habr.com/company/badoo/blog/415359/

[7] [RFC] Class Friendship: https://wiki.php.net/rfc/friend-classes

[8] [RFC] User-defined object comparison: https://wiki.php.net/rfc/object-comparison

[9] dstogov/php-tensorflow: https://github.com/dstogov/php-tensorflow

[10] FFI: https://github.com/dstogov/php-ffi

[11] TensorFlow: https://www.tensorflow.org/

[12] Infection 0.9.0: https://infection.github.io/2018/07/01/whats-new-in-0.9.0/

[13] PHPStan 0.10: https://github.com/phpstan/phpstan/releases/tag/0.10

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

[15] sebastianfeldmann/phpbu: https://github.com/sebastianfeldmann/phpbu

[16] leviy/release-tool: https://github.com/leviy/release-tool

[17] mediact/dependency-guard: https://github.com/mediact/dependency-guard

[18] ackintosh/snidel: https://github.com/ackintosh/snidel

[19] spatie/async: https://github.com/spatie/async

[20] php-lock/lock: https://github.com/php-lock/lock/

[21] symfony/lock: https://github.com/symfony/lock

[22] Imangazaliev/DiDOM: https://github.com/Imangazaliev/DiDOM

[23] туториал: https://code.tutsplus.com/tutorials/parsing-html-with-php-using-didom--cms-31242

[24] Неделя Symfony #601 (2-8 июля 2018): https://symfony.com/blog/a-week-of-symfony-601-2-8-july-2018

[25] Неделя Symfony #600 (25 июня — 1 июля 2018): https://symfony.com/blog/a-week-of-symfony-600-25-june-1-july-2018

[26] Yii 1.1.20: https://www.yiiframework.com/news/178/yii-1-1-20-is-released

[27] Yii development notes #23: https://www.patreon.com/posts/yii-development-19759260

[28] Yii 2.0 Part 19 — REST APIs: https://www.youtube.com/watch?v=WnxD4rNZN3o

[29] beyondcode/laravel-self-diagnosis: https://github.com/beyondcode/laravel-self-diagnosis

[30] beyondcode/laravel-er-diagram-generator: https://github.com/beyondcode/laravel-er-diagram-generator

[31] mpociot/laravel-testtools: https://github.com/mpociot/laravel-testtools

[32] Расширение: https://chrome.google.com/webstore/detail/laravel-testtools/ddieaepnbjhgcbddafciempnibnfnakl?hl=en

[33] Создание собственного API-интерфейса {JSON: API} средствами Laravel: https://medium.com/@bad4iz/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-json-api-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8-%D1%81%D0%B0%D0%BC%D0%BE%D0%B3%D0%BE-laravel-5-5-76f4da2f5ca8

[34] bad4iz: https://habr.com/users/bad4iz/

[35] DotKernel3 1.0: https://www.dotkernel.com/dotkernel3/dotkernel3-version-1-stable-released/

[36] Zend Framework ACL для пользователей с несколькими ролями: http://blog.zend.com/2018/07/05/zend-framework-access-control-lists/#.Wz9wv9hKjUY

[37] Интервью с лидером Zend Framework/Zend Expressive Matthew Weier O'Phinney: https://7php.com/making-zf-components-compatible-php7/

[38] reactphp/dns v0.4.15: https://github.com/reactphp/dns/releases/tag/v0.4.15

[39] Введение в ReactPHP: https://www.youtube.com/watch?v=lrsiREjwny4

[40] Быстрый веб-скрапинг с помощью ReactPHP. ч. 3: Используем прокси: https://sergeyzhuk.me/2018/06/20/fast-webscraping-with-reactphp-proxy/

[41] Рендеринг HTML файлов: глава из книги «ReactPHP для начинающих» от разработчика Skyeng: https://habr.com/company/skyeng/blog/416003/

[42] Критическая уязвимость в WordPress: https://blog.ripstech.com/2018/wordpress-file-delete-to-code-execution/

[43] 4.9.7: https://wordpress.org/news/2018/07/wordpress-4-9-7-security-and-maintenance-release/

[44] Руководство по безопасности WordPress: https://www.smashingmagazine.com/2018/06/wordpress-security-as-a-process/

[45] Месяц WordPress: июнь 2018: https://wordpress.org/news/2018/07/the-month-in-wordpress-june-2018/

[46] Magento Tech Digest #22: June 27 – July 2, 2018: https://www.maxpronko.com/blog/magento-tech-digest-22-june-27-july-2-2018

[47] Не используйте ассоциативные массивы, вообще говоря, никогда: https://steemit.com/php/@crell/php-use-associative-arrays-basically-never

[48] Анонимные классы как приватные классы пакета: https://markbakeruk.net/2018/06/25/using-php-anonymous-classes-as-package-private-classes/

[49] Phpdbg намного быстрее Xdebug для подсчета покрытия: http://kizu514.com/blog/phpdbg-is-much-faster-than-xdebug-for-code-coverage/

[50] PHP-окружение с помощью Docker-Сompose с нуля: https://x-team.com/blog/docker-compose-php-environment-from-scratch/

[51] Простой IOT-девайс с помощью PHP и Raspberry Pi Zero W: http://www.codingmama.io/tutorials/how-to-create-a-simple-iot-device-with-php-on-a-raspberry-pi-zero-w

[52] Как скомпилировать и пощупать нерелизнутый RFC: https://www.sammyk.me/how-to-compile-an-unreleased-rfc-feature-for-php-source-php-internals

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

[54] Безопасное хранение учётных данных в PHP: https://ahrameev.ru/article/programming/bezopasnoe-khranenie-uchjotnykh-dannykh-v-php.html

[55] Львы в пустыне и интроспекция: https://habr.com/post/414709/

[56] Низкоуровневая реализация префиксного дерева trie на PHP: https://habr.com/post/416191/

[57] PHP-DataGen — генератор PHP классов со строго-типизированными свойствами: https://habr.com/post/415861/

[58] Аспектно-ориентированное программирование на PHP: https://habr.com/company/otus/blog/415713/

[59] Пятничная PHP-викторина: немного приключений программиста Брэда, одна странная последовательность и призы: https://habr.com/company/avito/blog/414481/

[60] Расширение PHP и Kotlin Native. Часть первая, наивная: https://habr.com/company/alfa/blog/415471/

[61] Code Basics: бесплатные практические уроки для новичков: https://habr.com/post/415301/

[62] PHP Rountable Podcast #74: О хранении паролей и прочей секретной информации в PHP приложениях: https://www.phproundtable.com/episode/securely-managing-secrets-in-php

[63] Zeev Suraski — To PHP 7 and beyond: https://www.roguewave.com/events/on-demand-webinars/to-php-7-and-beyond

[64] PHPlashy — The Official PHP Vegas ElePHPant: https://www.indiegogo.com/projects/phplashy-the-official-php-vegas-elephpant-software-toys#/

[65] о странных задачах, которые пользователи решали с помощью PHP: https://www.reddit.com/r/PHP/comments/8ufxp2/whats_the_most_weirdest_program_you_have_written/

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

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

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

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

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

[71] Предыдущий выпуск: PHP-Дайджест № 133: https://habr.com/company/zfort/blog/415057/

[72] Источник: https://habr.com/post/416543/?utm_source=habrahabr&utm_medium=rss&utm_campaign=416543