Nouvelle sélection avec des liens vers des nouvelles et des documents. Dans ce numéro: Fibres pour PHP asynchrone, premiers attributs natifs, correspondance courte et autres propositions RFC pour PHP 8.1, outils, nombreuses vidéos, articles et podcasts.
Bonne lecture et bonne année!
Internes PHP
- [RFC] Fibers - Une excellente proposition pour PHP asynchrone. Plus de détails étaient dans la chaîne Telegram . En bref, il s'agit d'une version améliorée des générateurs, qui vous permettra d'écrire du code asynchrone basé sur des bibliothèques comme ReactPHP / Amp beaucoup plus facile et plus compréhensible.
Amp v3 est encore en développement, mais utilise déjà des fibres au lieu de promesses. Voici un exemple de ce à quoi ressemble l'analogue async / await:use Amp\Delayed; use Amp\Loop; use function Amp\async; use function Amp\await; // , int , , . $callback = function (int $id): int { return await(new Delayed(1000, $id)); // Await promise resolution. }; // $callback int, but is executed asynchronously. $result = $callback(1); // , 1 . \var_dump($result); // , . $result = await([ // , 1 . async($callback, 2), async($callback, 3), ]); \var_dump($result); // 2 .
- [RFC] #[Deprecated] Attribute — PHP 8 , . —
#[Deprecated]
. ,#[Deprecated]
, PHPE_DEPRECATED
.
, , .
, PhpStorm 2020.3. , . , - final, . - [RFC] #[NamedParameterAlias] Attribute — PHP 8.1.
, — . , API .
RFC: Named Parameters explicit opt in.
— , , .<?php use NamedParameterAlias; // Old function signature: function log($arg1) {} // New function signature introduces better name function log(#[NamedParameterAlias("arg1")] $message) {} log(arg1: "Hello World!"); log(message: "Hello World!");
Attribute::IS_REPEATABLE
. , . - [RFC] Short match —
match
PHP 8switch
.
switch(true) { ...
,if-elseif-...else
.match(true)
.
RFCmatch
match(true)
.
PHP 8.0: $a = 3; print match (true) { $a < 2 => 'small', $a == 3 => 'medium', default => 'large', };
: $a = 3; print match { $a < 2 => 'small', $a == 3 => 'medium', default => 'large', };
- [RFC] Configurable callback to dump results of expressions in `php -a` — Tyson Andre
php -a
.
bobthecow/psysh, PHP . . - [RFC] Add is_list(mixed $value): bool — RFC Tyson Andre.
is_list()
,true
,0, 1, 2 ... count($value)-1
.
- [PR] Add support for property initialization during cloning — - .
class Foo { public $bar; public $baz; public function withProperties($bar, $baz) { $self = clone $this; $self->bar = $bar; $self->baz = $baz; return $self; } } class Foo { public $bar; public $baz; public function withProperties($bar, $baz) { return clone $this with { bar: $bar, baz: $baz, }; } }
- Rector 0.9 — , , PHP 8.
- FriendsOfPHP/proxy-manager-lts — Ocramius/ProxyManager/ PHP >=7.1.
- fullpipe/check-them — . fullpipe1.
- multiavatar/multiavatar-php — (). 'php':
- dantleech/maestro2 — PHP- — ansible PHP . GitHub Actions. .
- matomo-org/matomo 4.0 — Google Analytics PHP. Piwik.
- jolicode/JoliNotif — PHP-. Win, macOS, Linux.
- skrtdev/NovaGram — API -.
Symfony
Laravel
- Laravel
- Blackfire Laravel Vapor
- Laravel,
- Freek Murzee,
- Laravel Internals #3 — Laravel .
- Laravel Snippet #24: Fortify, Jetstream, Breeze
Yii
- Yii 2.0.40
- yiisoft/test-support — , PSR-.
- , PHP — Matt Brown, Psalm, PHP Vimeo.
- – , — GitHub Git.
- Flysystem 2.0 .
- Magento 2
- - PHP 8
- Xdebug 2 Xdebug 3
- PHP — ? 1 (), 2 ()
- :
- : PHP- []
- PHP : , , []
- Highload PHP Redis ( , ManyChat).
- PHP 8 — . PHP .
- Revue de code PHP: upload-to-s3-webhook - Revue de code public par Mathew Napoli, auteur de Bref .
- À propos des modes de fonctionnement dans Xdebug 3 - Vidéo de l'auteur de Xdebug sur la configuration du débogueur / profileur / collecteur de couverture.
Divertissant
- elephpant PHP8: InPHPinity est né - New elephant PHP 8 est disponible en pré-commande:
Aujourd'hui, il y aura le deuxième flux PHP Digest. Toutes les actualités et liens du numéro + plus de détails, un aperçu de ce qui a été envoyé, intéressant mais non inclus dans le numéro, les résultats du dessin et un nouveau concours avec des éléphants.
À partir de 20h00 Moscou, Minsk / 19h00 Kiev.
Sondage: résumer l'année PHP et jouer à l'éléphant
Si vous remarquez une erreur ou une inexactitude, veuillez nous en informer dans un habr personnel ou un télégramme .
Plus de nouvelles et de commentaires sur la chaîne PHP Digest Telegram .
Envoyer le lien
Rechercher des liens dans tous les résumés
← Numéro précédent: PHP Digest # 194