Русский
Русский
English
Статистика
Реклама

PHP-Дайджест 187 (18 августа 7 сентября 2020)


Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8 beta 3, принят новый синтаксис атрибутов в PHP 8, Zephir всё, целая пачка полезных инструментов, статьи, видео, подкасты.

Приятного чтения!



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


  • PHP 8 beta 3 Последняя бета в цикле. Следующим релизом станет RC 1, который ожидается 17 сентября.
  • PHP 7.4.10, PHP 7.3.22
  • Будущее Zephir и Phalcon Один из контрибьюторов языка Zephir и PHP-фреймворка Phalcon ушёл из проекта, поэтому активная разработка Zephir приостановлена, а Phalcon 5 планируется переписать на чистый PHP.
  • В WordPress сообществе обсуждается план по поддержке версий PHP. Судя по ответам лидера проекта Matt Mullenweg, PHP 5.6 будет поддерживаться еще долго. По официальной статистике PHP 5.6 используется на 21.6% установок WP.

PHP Internals


  • check[RFC] Shorter Attribute Syntax Change Наконец-то закончилась эпопея с синтаксисом для атрибутов. На переголосовании принят вариант #[Attribute].
    #[  ORM\Entity,  ORM\Table("user")]class User{    #[ORM\Id, ORM\Column("integer"), ORM\GeneratedValue]    private $id;    #[ORM\Column("string", ORM\Column::UNIQUE)]    #[Assert\Email(["message" => "The email '{{ value }}' is not a valid email."])]    private $email;}
    

    Кстати, предыдущий синтаксис с @@Attr не поддерживал группировку атрибутов и поэтому такая возможность была убрана из PR. Но поскольку у #[ ] есть маркер конца, то группировку он поддерживает и она была возвращена.

    // Можно и так#[ORM\Entity]#[ORM\Table("user")]// и так#[    ORM\Entity,    ORM\Table("user")]
    

    Подробнее об атрибутах было в посте.
  • new[RFC] any() and all() on iterables Предлагается добавить две новых функции в стандартную библиотеку:
    any(iterable $input, ?callable $callback = null): bool запустит колбек на каждом элементе и остановится, на первом, который вернет true.
    all(...) вернет true только, если колбек вернет true для каждого элемента.

    Пример использования:

    // Было$satisifes_predicate = false;foreach ($item_list as $item) {    if (API::satisfiesCondition($item)) {        $satisfies_predicate = true;        break;    }}if (!$satisfies_predicate) {    throw new APIException("No matches found");}// Сталоif (!any($item_list, fn($item) => API::satisfiesCondition($item))) {    throw new APIException("No matches found");}
    

Инструменты


  • Pest 0.3 Обертка над PHPUnit, которая позволяет писать тесты в более простом виде. Также готов плагин для PhpStorm Pest IntelliJ.
  • Codeception/Verify 2.0 Ассершены для PHPUnit и Codeception с fluent-интерфейсом.
  • ramsey/composer-repl Добавляет команду composer repl для запуска bobthecow/psysh.
  • brick/money Библиотека для работы с денежными данными. Работает, даже если не уставлены GMP или BCMath. Сравнение с moneyphp/money.
  • bassim/super-expressive-php Библиотека позволяет описывать регулярные выражения почти-естественным языком через текучий интерфейс. Альтернатива VerbalExpressions/PHPVerbalExpressions.
  • phpsci/phpsci-carray Расширение PHP для научных вычислений. Основано на NumPy.
  • github.com/phpwebclient Декораторы и хелперы для PSR-18 совместимых HTTP-клиентов.
  • hamlet-framework/type Библиотека для спецификации типов. Может быть использована везде, где нужна спецификация типов, включая cast, assert, instanceof и т. п.

Symfony



Laravel



Yii


  • yiisoft/auth Свежий пакет из семейства Yii 3 предоставляет различные методы аутентификации, набор абстракций для реализации в приложении, и PSR-15 middleware для аутентификации.
  • yiisoft/strings Хелперы для работы со строками.

Async PHP



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


Источник: habr.com
К списку статей
Опубликовано: 07.09.2020 12:20:38
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Laravel

Php

Symfony

Yii

Разработка веб-сайтов

Дайджест

Php-дайджест

Php 8

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2023, personeltest.ru