Une sélection de nouvelles et de matériaux frais du monde PHP. En version : la première version alpha de PHP 8.1.0, Composer 2.1, Symfony 5.3 et d'autres versions. Un aperçu des nouvelles propositions pour PHP 8.1 : Application de fonction partielle, opérateur pipe, propriétés en lecture seule. Plus une partie d'outils utiles, d'articles, de vidéos et de podcasts.
Bonne lecture!
nouvelles
PHP 8.1.0 alpha 1
- PHP 8.1. . 25 .
20 , . :
php.watch/versions/8.1.
PHP 8.0.7, PHP 7.4.20
.
PhpStorm 2021.2
, . , .
: PHP 8.1, Extract Method, .
Composer 2.1.0
reinstall
, . .
packagist.org PHP-
Composer, Jordi Boggiano, PHP.
, packagist.org/php-statistics.
, , , symfony/console/php-stats.
PHP Russia 2021
28 . —
, , .
: php_digest.
PHP Internals
[RFC] Partial Function Application
RFC First-class callable syntax.
— ....
,?
— .
:
$func = some_func(...)
— . , .$func = some_func(1, 2, ?, 5)
— , .$func = any_func($all, $params, ...)
— , . , .
[RFC] Pipe Operator v2
, - .
:
array_filter(array_map('strtoupper', str_split(htmlentities("Hello World"))), fn($v) => $v != 'O');
:
$result = "Hello World" |> htmlentities(?) |> str_split(?) |> array_map(strtoupper(?), ?) |> array_filter(?, fn($v) => $v != 'O');
[RFC] Pure intersection types
, .
PHP Internals News #88 George Peter Banyard, RFC.
[RFC] Readonly properties 2.0
RFC readonly .
readonly
. .
class Test { public readonly string $prop; public function __construct(string $prop) { // Legal initialization. $this->prop = $prop; } } $test = new Test("foobar"); // Legal read. var_dump($test->prop); // string(6) "foobar" // Illegal reassignment. It does not matter that the assigned value is the same. $test->prop = "foobar"; // Error: Cannot modify readonly property Test::$prop
constructor property promotion PHP 8.0, :
class User { public function __construct( public readonly string $name ) {} } $user = new User('Roman'); echo $user->name; // Ok $user->name = 'Nikita'; // Error
[RFC] Make reflection setAccessible() no-op
,->setAccessible(true)
.
Marco «Ocramius» Pivetta ,ReflectionProperty
ReflectionMethod
,setAccessible(true)
.
class Foo { private $bar = 'a'; } (new ReflectionProperty(Foo::class, 'bar'))->getValue();
- nunomaduro/php-interminal — PHP Internals . , .
- joonlabs/php-graphql — PHP- GraphQL. , .
- spiral/attributes — PHP 8 PHP 7.2+ . - nikic/php-parser. SerafimArts.
- spiral/storage — . thephpleague/flysystem API. SerafimArts.
- kalessil/production-dependencies-guar — -
require
composer.json.
«» CI.
Symfony
- Symfony 5.3 — Symfony.
PHP Release Radar #11: Symfony 5.3, Nicolas Grekas .
Symfony Messenger: .
Symfony AWS Lambda.- Symfony #754 (7-13 2021).
Laravel
- Laravel 10 — .
Event Sourcing Laravel — Spatie.
.
« ».
: Offset Cursor.
Mohamed Said, core- Laravel: Database Connections in Laravel — Beyond the Basics, What's New in Laravel (#2).- Larastreamers.com — .
Yii
- Yii 1.1.24 Yii 1 — 2023 .
- yiisoft/rate-limiter — Yii 3.
- PHP : nikic/FastRoute symfony/routing.
- PHP — RFC Short Closures.
- ORDER BY RANDOM().
static ? — - Beer::PHP.
PHP .
, , : .
PHP : .
/
PHP Internals News #87 — C .
PHPTownhall Episode 81 : Le Livre du Psaume - Sortie d'un podcast avec Matthew Brown , auteur du Psaume.- Les flux de résumés réguliers sont toujours en vacances, mais il y a eu un grand flux soudain basé sur les résumés PHP du printemps de Valentin Udaltsov :
Abonnez-vous à la chaîne PHP Digest Telegram .
Si vous avez aimé le condensé, donnez-lui un plus - c'est très motivant de continuer à le faire.
Avez-vous repéré une erreur ou une faute de frappe? Informer dans un habr ou un télégramme personnel .
Vous pouvez envoyer un lien via le formulaire ou simplement en m'écrivant par télégramme .
Rechercher des liens dans tous les résumés
← Numéro précédent : PHP-Digest # 204