
Les accesseurs de propriété, les intersections de types et les constantes finales sont officiellement proposés pour PHP 8.1, et deux autres RFC ont déjà été adoptées. La version comprend également une partie des outils, des vidéos, des podcasts, des articles et des nouvelles de la communauté.
Bonne lecture!
nouvelles
- PHP 7.4.19 , PHP 8.0.6 - Correction d'un bug dans PDO_pgsql.
- Statistiques de version PHP - 2021.1 - Collecte traditionnelle de statistiques basées sur les données que Composer envoie lors de la connexion à packagist.org.
- PHP 7.4: 45.92% (+3.31)
- PHP 7.3: 21.30% (-5.75)
- PHP 7.2: 12.89% (-2.39)
- PHP 8.0: 9.44% (+9.17)
- PHP 7.1: 5.21% (-2.24)
- Phalcon Roadmap — , v5 . : PHP + . PHP, .
- :
- 18 , 3- PHP- , 19.00 — .
PHP ?
- 20 2021, PHP of BY Meetup #36 , 19.00 — .
- 28 , , PHP Russia, 2021.
phpcommunity.ru.
- 18 , 3- PHP- , 19.00 — .
PHP Internals
[RFC] Namespaces in bundled PHP extensions
PHP! (, ..) .
.resource
PHP - . , PHP 8.1 :
IMAPConnection -> IMAP\Connection FTPConnection -> FTP\Connection LDAP -> LDAP\Connection LDAPResult -> LDAP\Result LDAPResultEntry -> LDAP\ResultEntry PgSql -> PgSql\Connection PgSqlResult -> PgSql\Result PgSqlLob -> PgSql\Lob
[RFC] Add return type declarations for internal methods
PHP 8.0 . . , .
, . , .
class SomeStandardClass { public function method(): int {} } class UserClass extends SomeStandardClass { public function method() {} } // Fatal error: Declaration of UserClass::method() must be compatible with SomeStandardClass::method()
. PHP 8.1 . ,Deprecation notice
. PHP 9Fatal error
.
class MyDateTime extends DateTime { public function modify(string $modifier) { return false; } } // Deprecated: Declaration of MyDateTime::modify(string $modifier) should be compatible with DateTime::modify(string $modifier): DateTime|false
[RFC] Property Accessors
.
. ,__get
__set
.C#
:
class Foo { public $prop { get { /* ... */ } set { /* ... */ } } }
readonly :
class User { public string $name { get; } public function __construct(string $name) { $this->name = $name; } }
, public/private :
class User { public string $name { get; private set; } ... }
:
class Foo { public int $bar { get { error_log('Getting $bar'); return $this->bar; } set { assert($bar > 42); $this->bar = $bar; } } }
lazy
guard
PHP 8.1.
[RFC] Pure intersection types
PHP 8.0 , RFC .
TypeA&TypeB
,instanceof TypeA
instanceof TypeB
.
class A { private Traversable&Countable $countableIterator; public function setIterator(Traversable&Countable $countableIterator): void { $this->countableIterator = $countableIterator; } public function getIterator(): Traversable&Countable { return $this->countableIterator; } }
pure intersection types, union . .
[RFC] Deprecate ticks
PHP :declare(ticks=1);
. pcntl.pcntl_signal()
pcntl_async_signals()
. PHP 8.1 PHP 9.
[RFC] Final class constants
final
, .
class Foo { final public const X = "foo"; } class Bar extends Foo { public const X = "bar"; } // Fatal error: Bar::X cannot override final constant Foo::X
RFC: .
- PHP:
- CLion php-src — - PHP 8.1.
- PHP Debian/Ubuntu — PHP.Watch.
- phpbench/phpbench 1.0.0 — . , — , CI .
Release Radar #10 .
- ergebnis/factory-bot — Doctrine ORM.
- spatie/file-system-watcher — js- paulmillr/chokidar .
- vtsykun/packeton — packagist composer-, composer/satis , packagist.com .
- rybakit/phpunit-extras — expect*() PHPUnit, .
- infection 0.23.0 — , pestphp/pest.
- captainhookphp/captainhook — Git- PHP . , .
- readme.so — README-. ( PHP).
Symfony
- Symfony 5.3
- Symfony Messenger pcntl_alarm().
- PrestoPHP/PrestoPHP — Silex , .
- TransMaintain — Symfony .
- Symfony #750 (10-16 2021)
Laravel
- laravel-arcanist/arcanist — .
.
- Wulfheart/pretty-routes — .
- cerbero90/lazy-json — JSON- illuminate/support (Laravel).
- mailcare/mailcare — mailinator.com, Laravel.
Form Request Laravel
Yii
- Yii 2021, 2 — Yii 3 Yii 2, , .
- Yii 3: yiisoft/profiler, yiisoft/error-handler, yiisoft/translator, yiisoft/yii-event, yiisoft/assets.
- . thephpleague/flysystem.
- PHP.
- PHP — Larry Garfield, lex111.
- , PHP — .
— CQRS ES PHP , — .
MessagePack.
PHP-SPX PHP.
/
PHP- .
PHPFest 2020.
Xdebug 3 Docker
PhpStorm Xdebug 3 Linux
PHP Internals News podcast #84 — - PHP 8.1: Ben Ramsey, Patrick Allaert.
- PHP - — Joe Watkins , PHP , .
Laravel JIT :
- 0xABADCAFE/php-demo-engine — PHP. ASCII- .
- remoteok.io index.php $101k .
5 :
- PHP :
3v4l.org/WMfPP Alexander Lisachenko a montré$b = new class { function __destruct() { $GLOBALS['b'] = 2; } }; $a = 1; $b = 1; var_dump($a + $b); // 3
plus de magie noire à PHP Russie 2019. Et à PHP Russie 2021, nous attendons plus de miracles PHP de sa part .
Si vous remarquez une erreur ou une inexactitude, veuillez nous en informer dans un habr personnel ou un télégramme .
Abonnez-vous à 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 # 202