Pull to refresh

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

Reading time4 min
Views13K

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



Новости и релизы


  • PHP 7.3.0 alpha 4 — Последняя «альфа» в цикле. Первый бета-выпуск запланирован на 2 августа. К списку новых возможностей добавится недавно принятое предложение о введение новых функций 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, в котором несколько возможностей объявлены устаревшими. Также устаревшими в PHP 7.3 будут объявлены константы нечувствительные к регистру.

    Что касается предложения по типизированным свойствам, то его решено отложить до следующей версии, которой, вероятно, станет PHP 8.0.
  • Обновления всех актуальных веток PHP с исправлениями ошибок безопасности:

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

PHP Internals


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

    Скрытый текст
    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 \Example\A();  // Allowed by public
            }
     
            public function B()
            {
                return new \Example\B();  // Not allowed because 
                                           // namespace is not shared
            }
     
            public function C()
            {
                return new \Example\C();  // Not allowed because
                                           // not from same namespace
            }
        }
    }

Инструменты


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

Материалы для обучения




Аудио и видеоматериалы




Занимательное


  • Риалтайм тайпхинты в PhpStorm – что думаете?
  • Rayne/ecoji-php — Base64 — это скучно, закодируй строку в последовательность emoji:

    use Rayne\Ecoji\Ecoji;
    
    $ecoji = new Ecoji;
    $ecoji->encode("Base64 is so 1999, isn\'t there something better?\n");
    


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

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

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

Tags:
Hubs:
Total votes 49: ↑47 and ↓2+45
Comments28

Articles

Information

Website
www.zfort.com.ua
Registered
Founded
Employees
101–200 employees
Location
Украина