Pengakses properti, persimpangan tipe, dan konstanta akhir secara resmi diusulkan untuk PHP 8.1, dan dua lagi RFC telah diadopsi. Juga dalam rilisnya adalah bagian dari alat, video, podcast, artikel, berita komunitas.
Selamat membaca!
berita
- PHP 7.4.19 , PHP 8.0.6 - Memperbaiki bug di PDO_pgsql.
- Statistik versi PHP - 2021.1 - Kumpulan statistik tradisional berdasarkan data yang dikirim Composer saat menghubungkan ke 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 menunjukkan$b = new class { function __destruct() { $GLOBALS['b'] = 2; } }; $a = 1; $b = 1; var_dump($a + $b); // 3
lebih banyak sihir hitam di PHP Russia 2019. Dan di PHP Russia 2021 kami mengharapkan lebih banyak keajaiban PHP darinya .
Jika Anda melihat kesalahan atau ketidakakuratan, harap beri tahu kami melalui habr atau telegram pribadi .
Berlangganan saluran Telegram PHP Digest .
Kirim tautan
Cari tautan di semua intisari
← Masalah sebelumnya: PHP-Digest # 202