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

PHP-Дайджест № 135 (9 – 23 июля 2018)

PHP-Дайджест № 135 (9 – 23 июля 2018) - 1

В выпуске: PHP 7.3 alpha 4, ReactPHP 1.0 LTS и другие релизы, свежее предложение «Namespace Visiblity for Class, Interface and Trait» из PHP Internals, ведеозаписи докладов и вебинаров, порция полезных инструментов, и многое другое.
Приятного чтения!

PHP-Дайджест № 135 (9 – 23 июля 2018) - 2 Новости и релизы

  • PHP 7.3.0 alpha 4 [1] — Последняя «альфа» в цикле. Первый бета-выпуск запланирован на 2 августа. К списку новых возможностей [2] добавится недавно принятое предложение [3] о введение новых функций array_key_first()/array_key_last() для работы с массивами:
    $array = ['a' => 1, 'b' => 2, 'c' => 3];
     
    $firstKey = array_key_first($array); // 'a'
    $lastKey = array_key_last($array); // 'c'

    Этап голосования прошло предложения Deprecations for PHP 7.3 [4], в котором несколько возможностей объявлены устаревшими. Также устаревшими в PHP 7.3 будут объявлены константы нечувствительные к регистру [5].
    Что касается предложения по типизированным свойствам [6], то его решено отложить [7] до следующей версии, которая, вероятно, PHP 8.0.

  • Обновления всех актуальных веток PHP с исправлениями ошибок безопасности:
    PHP 7.2.8 [8]
    PHP 7.1.20 [9]
    PHP 7.0.31 [10]
    PHP 5.6.37 [11]
  • PhpStorm 2018.2 Public Preview [12] — Среди нововведений: обновленный интерфейс и поддержка touch bar, улучшенное автодополнение с учетом пространств имен, структурный поиск и замена, упрощенная установка CodeSniffer/MessDetector, и другие улучшения.
  • Symfoniacs Moscow #15 [13] — 2 августа, Москва, традиционная встреча PHP/Symfony разработчиков. На этот раз в гостях у компании Lamoda.

PHP-Дайджест № 135 (9 – 23 июля 2018) - 3 PHP Internals

  • [RFC] Namespace Visiblity for Class, Interface and Trait [14] — Предлагается ввести модификаторы доступа для классов, интерфейсов и трейтов для ограничения использование по пространству имен:
    Скрытый текст

    namespace Example {
        public class A 
        {
           private $property;
        }
     
        protected class B
        {
           public $property;
        }
     
        private class C
        {
           protected $property;
        }
    }
     
    namespace OtherVendor {
        public class Factory
        {
            public function A()
            {
                return new ExampleA();  // Allowed by public
            }
     
            public function B()
            {
                return new ExampleB();  // Not allowed because 
                                           // namespace is not shared
            }
     
            public function C()
            {
                return new ExampleC();  // Not allowed because
                                           // not from same namespace
            }
        }
    }

PHP-Дайджест № 135 (9 – 23 июля 2018) - 4 Инструменты

  • PHLAK/Twine [15] — Объектная обертка для работы со строками. Альтернатива danielstjules/Stringy [16].
  • atlasphp/Atlas.Orm 3.0 [17] — Интересная ORM.
  • makasim/values [18] — Библиотека пытается объединить лучшее из мира объектов и массивов. Работаете с объектами как обычно, а под капотом будут использоваться массивы.
  • AI-BOLIT [19] — Бесплатный антивирусный сканер для PHP-сайтов.
  • spatie/crawler [20] — Мощный краулер на базе Guzzle, а также Chrome и Puppeteer для рендеринга JavaScript-сайтов.
  • spatie/code-outliner [21] — Пакет создаст визуальное представление вашего кода, чтобы понять как он воспринимается, абстрагировавшись от содержания.

PHP-Дайджест № 135 (9 – 23 июля 2018) - 5 Материалы для обучения

PHP-Дайджест № 135 (9 – 23 июля 2018) - 18 Аудио и видеоматериалы

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

  • Риалтайм тайпхинты в PhpStorm – что думаете?

  • Rayne/ecoji-php [57] — Base64 — это скучно, закодируй строку в последовательность emoji:
    use RayneEcojiEcoji;
    
    $ecoji = new Ecoji;
    $ecoji->encode("Base64 is so 1999, isn't there something better?n");
    

    PHP-Дайджест № 135 (9 – 23 июля 2018) - 25

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

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

Прислать ссылку [61]
Поиск ссылок по всем дайджестам [62]
Предыдущий выпуск: PHP-Дайджест № 134 [63]

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

Источник [64]


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

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

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

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

[2] списку новых возможностей: https://habr.com/company/zfort/blog/413813/#php73alpha1

[3] предложение: https://wiki.php.net/rfc/array_key_first_last

[4] Deprecations for PHP 7.3: https://wiki.php.net/rfc/deprecations_php_7_3

[5] константы нечувствительные к регистру: https://wiki.php.net/rfc/case_insensitive_constant_deprecation

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

[7] решено отложить: https://externals.io/message/102333#102867

[8] PHP 7.2.8: http://php.net/ChangeLog-7.php#7.2.8

[9] PHP 7.1.20: http://php.net/ChangeLog-7.php#7.1.20

[10] PHP 7.0.31: http://php.net/ChangeLog-7.php#7.0.31

[11] PHP 5.6.37: http://php.net/ChangeLog-5.php#5.6.37

[12] PhpStorm 2018.2 Public Preview: https://www.jetbrains.com/phpstorm/nextversion/

[13] Symfoniacs Moscow #15: https://www.meetup.com/Symfoniacs/events/252936472/

[14] [RFC] Namespace Visiblity for Class, Interface and Trait: https://wiki.php.net/rfc/namespace-visibility

[15] PHLAK/Twine: https://github.com/PHLAK/Twine

[16] danielstjules/Stringy: https://github.com/danielstjules/Stringy

[17] atlasphp/Atlas.Orm 3.0: https://github.com/atlasphp/Atlas.Orm

[18] makasim/values: https://github.com/makasim/values

[19] AI-BOLIT: https://revisium.com/ai/

[20] spatie/crawler: https://github.com/spatie/crawler

[21] spatie/code-outliner: https://github.com/spatie/code-outliner

[22] Неделя Symfony #603 (16-22 июля 2018): https://symfony.com/blog/a-week-of-symfony-603-16-22-july-2018

[23] Неделя Symfony #602 (9-15 июля 2018): https://symfony.com/blog/a-week-of-symfony-602-9-15-july-2018

[24] Опыт Rambler Group: Управление React компонентами из Symfony: https://habr.com/post/417023/

[25] Открытый вебинар «Создание Web-сайта на фреймворке Yii2»: https://habr.com/company/otus/blog/416619/

[26] chelout/laravel-relationship-events: https://github.com/chelout/laravel-relationship-events

[27] rennokki/befriended: https://github.com/rennokki/befriended

[28] beyondcode/laravel-view-xray: https://github.com/beyondcode/laravel-view-xray

[29] beyondcode/laravel-query-detector: https://github.com/beyondcode/laravel-query-detector

[30] beyondcode/laravel-dump-server: https://github.com/beyondcode/laravel-dump-server

[31] Symfony Dump Server: https://symfony.com/doc/current/components/var_dumper.html#the-dump-server

[32] spatie/laravel-event-projector: https://github.com/spatie/laravel-event-projector

[33] Видеобзор: https://www.youtube.com/watch?v=28jmTeN3VYc

[34] пост: https://murze.be/introducing-laravel-event-projector-the-easiest-way-to-get-started-with-event-sourcing-in-a-laravel-app

[35] zendframework/zend-expressive-swoole: https://github.com/zendframework/zend-expressive-swoole

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

[37] ReactPHP 1.0.0 LTS: https://www.lueck.tv/2018/announcing-reactphp-lts

[38] leproxy/leproxy v0.2.2: https://github.com/leproxy/leproxy/releases/tag/v0.2.2

[39] clue/reactphp-buzz: https://github.com/clue/reactphp-buzz

[40] ReactPHP Tutorial #9: POST Requests: https://www.youtube.com/watch?v=q01-wCZukDk&feature=youtu.be

[41] Magento Tech Digest #24: July 10 – 16, 2018: https://www.maxpronko.com/blog/magento-tech-digest-24-july-10-16-2018/

[42] Serverless PHP: https://medium.com/@stephenheron/serverless-php-9da3f00df5de

[43] Архитектура децентрализованной соц-сети: https://nl.movim.eu/?blog/edhelas%40movim.eu/how-s-made-movim-part-i-the-architecture-CCA7If

[44] movim: https://github.com/movim/movim

[45] Объекты нужно конструировать за один шаг: https://matthiasnoback.nl/2018/07/objects-should-be-constructed-in-one-go/

[46] PSR-18: The HTTP client PSR: https://medium.com/php-fig/the-http-client-psr-9c2535132980

[47] Советы по работе с фикстурами: https://matthiasnoback.nl/2018/07/about-fixtures/

[48] Чек-лист по безопасности для веб-разработчика: https://github.com/minotaura/ru-web-developer-security-checklist

[49] ABI Model Pattern v0.5.6 Beta: https://habr.com/post/416829/

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

[51] Устаревший код – сторонний код: https://habr.com/post/417683/

[52] Открытый урок по PHP «Основные понятия баз данных»: https://habr.com/company/otus/blog/417653/

[53] Пятничный PHP: бесплатные вебинары от Skillbox: https://habr.com/company/skillbox/blog/417071/

[54] Dutch PHP Conference 2018: https://www.youtube.com/watch?v=JoLS05gtbwY&list=PLV9OnTq0kQ5w8xWd6PuOP7Kf36GqJOGx0&index=1

[55] pic.twitter.com/38YEZAOhYB: https://t.co/38YEZAOhYB

[56] July 11, 2018: https://twitter.com/phpstorm/status/1017049586664398848?ref_src=twsrc%5Etfw

[57] Rayne/ecoji-php: https://github.com/rayne/ecoji-php

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

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

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

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

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

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

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