PHP 8.1 aura une énumération, et deux autres acceptés, deux rejetés et trois nouveaux RFC pour PHP 8.1. WordPress est utilisé par 40% des sites. Pourquoi vous devez supprimer strict_types, pourquoi vous ne devriez pas utiliser empty (), ainsi que des outils, des vidéos, des articles, des podcasts et PHP Digest Live à 10h00 GMT.
Bonne lecture!
Nouvelles et communiqués
- PhpStorm 2021.1 EAP
IDE. , . : -, HTML , .
2020.3.1 / Code With Me. - xdebug.cloud
Xdebug, — PHP- , , Docker, Vagrant, . - WordPress 40% 10 — w3techs .
2021- PHP? — 27
.- 25 , 19:00 PHP of By. « - PHP» temporal.io.
- phpcommunity.ru.
PHP Internals
[RFC] Enumerations
44 7 . PHP 8.1 enum.
enum RfcStatus { case Draft; case UnderDiscussion; case Accepted; } function setRfcStatus(RfcStatus $status) :void { // ... } setRFCStatus(RfcStatus::Accepted); // setRFCStatus('Draft'); // Deprecation notice 8.1, TypeError 9.0
RFC php.watch.
Symfony .
[RFC] Deprecate passing null to non-nullable arguments of internal functions
PHPnull
,nullable
.
PHP 8.1TypeError
. ,str_contains("", null)
. 3v4l.org/OVoa0A.
: , PHP.
[RFC] Array unpacking with string keys
PHP 8.1 , :
$array1 = ['a' => 'apple', 'p' => 'pear']; $array2 = ['b' => 'banana', 'o' => 'orange']; $array = [...$array1, ...$array2]; // : $array = array_merge($array1, $array2);
- [RFC] Fibers
, .
Fiber API Ruby.
ReactPHP trowski/react-fiber:
$loop = new FiberLoop(Factory::create()); $browser = new Browser($loop); $request = function (string $method, string $url) use ($browser, $loop): void { /** @var Response $response */ $response = $loop->await($browser->requestStreaming($method, $url)); /** @var ReadableStreamInterface $stream */ $stream = $response->getBody(); $body = $loop->await(Stream\buffer($stream)); var_dump(\sprintf( '%s %s; Status: %d; Body length: %d', $method, $url, $response->getStatusCode(), \strlen($body) )); }; $requests = []; $requests[] = $loop->async($request, 'GET', 'https://reactphp.org'); $requests[] = $loop->async($request, 'GET', 'https://google.com'); $requests[] = $loop->async($request, 'GET', 'https://www.php.net'); $loop->await(Promise\all($requests));
- [RFC] CachedIterable (rewindable, allows any key&repeating keys)
Tyson Andre . . - Proposal: namespace the SPL
Spl
:Spl\FixedArray
->SplFixedArray
. ,CachedIterable
ReverseIterator
.
azjezz/psl.
- [RFC] mysqli bind in execute
Kamil Tekielamysqli
. RFCmysqli_stmt::execute()
. , ,mysqli_stmt::bind_param()
. , bind_param .
[RFC] PHP\iterable\any() and all() on iterables — any()
all()
.
[RFC] var_representation(): readable alternative to var_export() — var_export
, brick/varexporter.- [Draft] Unify PHP's typing modes — PHP . — , , –
strict_types=1
– . , , .
George Peter Banyard, RFC.
. - Observer API PHP 8 — API . Xdebug, APM- New Relic, Tideways, ..
- renoki-co/php-k8s — PHP.
- marcocesarato/php-conventional-changelog — changelog .
- andrey-helldar/package-wizard — CLI- .
- rryqszq4/ngx_php7 — nginx PHP. PHP, /, , .
Symfony
- symfony/panther 1.0 — Symfony Selenium WebDriver E2E .
- Tobias Nyholm: Symfony Lock Messenger
- .
- Symfony #738 (15-21 2021)
Laravel
Yii
Async PHP
- swow/swow — PHP, libuv, , PDO, file_get_ontents() .. ( ). , Swoole.
PhpStorm
PhpStorm Christoph Rumpel.- 26 PhpStorm
- Dependency Confusion PHP.
- Benjamin Eberlei: empty() PHP? .
- PHP — .
MySQL > 40000 QPS, — .
.
: , , .
, - PHP.
SafetyNet Attestation — PHP.
Tagged Unions PHP ( Rust).
: ?
/

shutdown — () PHP Point.
PHP ( , Simtech Development)
. PHP, MySQL, .
PHP №85 — CTO «», Apache Camel, PHP 4 , Lamoda.
PHP Release Radar #5 — Flysystem 2 Frank de Jonge.
Podcast PHP Internals News avec Nikita Popov sur les RFC acceptées pour PHP 8.1: déprécier null et décompresser les tableaux , restreindre l'utilisation des globaux et éliminer progressivement le sérialisable .
Divertissant
- mario-deluna / php-render est un pur rendu 3D PHP, même sans utiliser FFI. Shaders, analyseur de fichiers .obj et plus encore. Exemple de
code :

Déjà un flux traditionnel basé sur PHP Digest. Il y aura une analyse des nouvelles et des liens du problème avec des détails et des détails supplémentaires.
À partir de 20h00 Moscou, Minsk / 19h00 Kiev.
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 № 198