Свежая подборка со ссылками на новости и материалы. В выпуске: последняя бета PHP 7.3, Laravel Nova, сайт с идеями для следующих версий PHP, новости о Yii 3, порция полезных инструментов, видео, и многое другое. Приятного чтения!



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


  • PHP 7.3.0 Beta 3 — Последняя бета в цикле. Следующим релизом станет RC 1, который ожидается 13 сентября.
    • Среди изменений:
      • Улучшения Heredoc и Nowdoc синтаксиса RFC
      • Функции json_encode() и json_decode() будут бросать исключение в случае ошибки и наличия соответствующего флага RFC
      • Возможность использовать запятую после последнего аргумента функции RFC
      • Новая функция hrtime(), которая возвращает время высокой точности и не зависит от системного времени PR
      • Добавлена функция is_countable() для проверки на перечислимость RFC
      • Использование ссылок в list() RFC
      • Некоторые возможности объявлены устаревшими RFC 1, RFC 2
      • В функции работы с куками добавлена поддержка Same Site Cookie RFC
      • Значительное улучшение сборщика мусора PR
      и другие улучшения. Полный список изменений.
      Больше об изменениях можно прочитать в подробном разборе что нового в PHP 7.3 или быстро посмотреть в диффах.
  • Удаленное выполнение кода на packagist.org — Уязвимость, позволяющая выполнить код на сервере PHP-репозитория Packagist, передав специально сформированную строку вместо URL в форму добавления нового пакета. Уже исправлена.
  • Highload fwdays'18 — 15 сентября в Киеве пройдет масштабная конференция по хайлоаду. Докладов непосредственно о PHP не замечено, но в программе интересные выступления по масштабированию, архитектуре, и оптимизации. Промокод на скидку: PHPDIGEST_HL.
  • php-vote.com — Что бы вы хотели видеть в следующей версии PHP? На сайте можно добавить идею или обсудить и проголосовать за уже добавленные.


Инструменты


  • nbs-system/snuffleupagus — Расширение безопасности для PHP 7 вдохновленное Suhosin. Предотвращает запуск потенциально небезопасного кода в рантайме.
  • adsr/phpspy — Легковесный профайлер для PHP 7.
  • adhocore/phint — Инструмент для быстрой генерации скелета приложения по шаблону.
  • phpstan/phpstan — Мощный статический анализатор. Посмотреть video что нового в v0.10 в докладе автора.
  • unreal4u/telegram-api — Асинхронная библиотека на PHP 7 для работы с Telegram bot API.
  • nette/utils — Набор полезных функций на каждый день. Пост в поддержку.


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




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



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

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

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

Комментарии (15)


  1. alexey-m-ukolov
    03.09.2018 09:04
    +3

    php-vote.com — Что бы вы хотели видеть в следующей версии PHP? На сайте можно добавить идею или обсудить и проголосовать за уже добавленные.
    Учитывая качество предложенных идей и отсутствие гайдлайнов по их добавлению, этот проект очень быстро умрёт и послужит только как средство выпускания пара. Мейнтейнеры php вряд ли захотят рыться в этой помойке, да и самые популярные идеи ими уже были наверняка рассмотрены и отвергнуты/отложены по каким-либо причинам.

    Видео Laracon US 2018
    На редкость бесполезные названия видео в плейлисте…


    1. Standfest
      04.09.2018 14:27

      Согласен. А так как там даже нет возможности «войти с соцсетью», а нужно регистировать аккаунт по-старинке, то я просто посмотрел и закрыл сайт навсегда.


  1. hasded
    03.09.2018 10:58

    Спасибо! Как всегда крутой дайджест!


  1. shm-vadim
    03.09.2018 10:58
    -3

    Лучше бы обязательность слова function в методах классов убрали.

    class MyClass {
    public function myMethod() {
    //some code here
    }
    }
    


    Ну зачем оно тут нужно? Только удлиняет код.
    В ES6 спокойно обходятся и без него.

    class MyClass {
    myMethod() {
    //some code here
    }
    }
    


    1. mifa
      03.09.2018 11:41
      +10

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

      P.S. Всегда было интересно, куда девают столько сэкономленного свободного времени Go-разработчики, которые пишут func вместо function :)


      1. alexey-m-ukolov
        03.09.2018 11:52

        С одной стороны, действительно, времени экономится несущественное количество.

        А с другой — визуально было бы легче воспринимать, если бы можно было путать свойства класса и методы, но они и так уже визуально легко различаются по отсутствию/наличию доллара и скобок.

        Я не считаю, что читаемость пострадает, если function совсем исчезнет. А вот func вместо function — и вправду бред :)


      1. alexey-m-ukolov
        03.09.2018 11:55

        Есть вот такое мнение: laracasts.com/series/php-bits/episodes/1
        Я с ним скорее не согласен, но оно, тем не менее, имеет право на существование.


      1. shm-vadim
        03.09.2018 12:04

        М.б. на что-нибудь другое тратят? :)
        А в чем тут недостаток читаемости проявится? Сразу ведь понятно, что это метод. В java, если не ошибаюсь, тоже подобный синтаксис. К тому же в свойства в php итак с $ начинаются. Даже по этому принципу никак не спутаешь. А что еще, кроме методов и свойств, может быть внутри класса? :)


        1. Andrey_Volk
          03.09.2018 12:53

          Ну и какой смысл изменять лексику языка, если единственная причина для этого — моральное самоудовлетворение php-шников, которым больше зашел JS? Да и приводить JS как пример — нет уж, спасибо, пусть там будет своя помойка, личная.


          1. shm-vadim
            03.09.2018 14:03

            моральное самоудовлетворение


            Тут вопрос скорее не в «моральном самоудовлетворении», а в краткости, скорости разработки, удобстве работы с ЯП. Поскольку сейчас, каждый раз создавая action в контроллере / getSetter в сущности я делаю лишнюю никому не нужную работу. На мой взгляд, тем самым только захламляя код.

            php-шников, которым больше зашел JS


            Вряд ли такие существуют. :) Ну, или они давно уже на ноде сидят. Вот таких знаю.
            А в целом, не совсем понял подкол про js. Почему бы не брать у других ЯП. то, что в них хорошо сделано? Анонимные функции взяли ведь. И ничего, вроде бы пока не подавился никто. А ведь это в куда большей степени фишка js.


            1. Andrey_Volk
              03.09.2018 15:05
              +2

              Тут вопрос скорее не в «моральном самоудовлетворении», а в краткости, скорости разработки, удобстве работы с ЯП.

              1. Мне удобно работать с ЯП, у которого читаемый синтаксис, а не набор стрелок\скобок\символов.
              2. О какой скорости идет речь? Если уж начистоту, 99% времени мы тратим на мышление, а не на написание кода. И, извиняюсь, сколько у вас займет времени написание слова function? У меня где то в районе секунды.

              Анонимные функции взяли ведь. И ничего, вроде бы пока не подавился никто. А ведь это в куда большей степени фишка js.

              Анонимные функции сперли у JS? Надеюсь вы так шутите.


              1. shm-vadim
                03.09.2018 15:28

                1. Ну что ж, это, безусловно, дело вкуса. На мой вкус, если данная читаемая строка ничего в коде не значит, то ее вполне можно опустить. Более того, рискну предположить, что если возможность пропуска слова «function» все-таки появится, через пару лет это станет стандартом. Так же, как и [].
                2. И у меня, примерно, секунду. Ну, может полторы. Умножаем хотя бы на 40 функций за день — получаем минуту исключительно на написания «function» перед каждым методом. Не сказать, что это самая большая проблема в моей производительности, но я спокойно бы обошелся без этой излишней тренировки моего десятипальцевого английского. Просто потому что это не нужно. И таких секунд/полсекунд в php достаточно. Да хоть тот же $ взять. :) но его-то уж наверняка убрать нельзя.
                3. А почему «сперли»? Мне, в принципе, без разницы как именно разработчики php додумались до этой идеи. Но такая концепция и реализация на тот момент уже существовала в js. И php, улучшая свои функциональные возможности, почти полностью ее повторил. Ну, кроме замыканий, разумеется. А что при этом было в голове разработчика, мне кажется несущественно.


                1. Corpsee
                  04.09.2018 06:10
                  +1

                  3. В PHP есть замыкания, только внешний контекст нужно передавать явно (Ключевое слово use). С моей точки зрения, это даже лучше, чем тащить весь внешний контекст как в JS.

                  Анонимные функции и замыкания появились задолго до JS (Смотри Lisp, например) и на данный момент есть практически во всех современных языках программирования, JS здесь вообще не при чем.


            1. FanatPHP
              03.09.2018 15:49
              +1

              скорости разработки

              f<tab>myMethod() это два нажания клавиши.


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


    1. Gemorroj
      03.09.2018 12:30
      +6

      Мне наоборот не нравятся эти альтернативные синтаксисы. т.к. по факту это значит что нужно будет пользоваться обеими синтаксисами (в зависимости от проекта). И вся эта js неразбериха не пример для подражания.