Selama dua minggu inti ini, tim PHP secara aktif membahas proposal untuk Aplikasi fungsi Parsial dan, sebagai alternatif, Nikita Popov menyarankan sintaks yang lebih sederhana untuk mendapatkan tautan ke fungsi apa pun. Juga diusulkan untuk menambahkan properti statis ke enum yang sudah diadopsi di PHP 8.1.
Symfony 6 akan membutuhkan PHP 8.0, dan Doctrine 2.9 yang dirilis mendukung penetapan metadata dalam atribut, bukan PHPDoc.
Juga dalam rilis adalah artikel keren tentang regexps dan instruksi untuk menggunakan Deployer, serta artikel bermanfaat lainnya, paket alat, beberapa video, dan podcast.
Selamat membaca!
PHP Internal
[RFC] Sintaks yang dapat dipanggil kelas satu
[RFC] Partial Function Application .
// $fn = Closure::fromCallable('strlen'); $fn = Closure::fromCallable([$this, 'method']); $fn = Closure::fromCallable([Foo::class, 'method']); // $fn = strlen(...); $fn = $this->method(...); $fn = Foo::method(...);
, ,callable
. , :
array_map(Something::toString(...), [1, 2, 3]); array_map(strval(...), [1, 2, 3]); // array_map([Something::class, 'toString'], [1, 2, 3]) array_map('strval', [1, 2, 3]);
[RFC] Disable autovivification on false
PHPnull
false
.false
-Fatal error
:
3v4l.org/UucOC$a = true; $a[] = 'value'; // Fatal error: Uncaught Error: Cannot use a scalar value as an array $a = null; $a[] = 'value'; // Ok $a = false; $a[] = 'value'; // ,
[RFC] Allow static properties in enums
PHP 8.1 .
PHP- php.watch.
, .
enum Environment { case DEV; case STAGE; case PROD; private static Environment $currentEnvironment; /** * Read the current environment from a file on disk, once. * This will affect various parts of the application. */ public static function current(): Environment { if (!isset(self::$currentEnvironment)) { $info = json_decode(file_get_contents(__DIR__ . '/../../config.json'), true); self::$currentEnvironment = match($info['env']) { 'dev' => self::DEV, 'stage' => self::STAGE, 'prod' => self::PROD, }; } return self::$currentEnvironment; } // Other methods can also access self::$currentEnvironment } printf("Current environment is %s\n", Environment::current()->name);
. , .
, PhpStorm 2021.2enum
, 2021.2 EAP.
[PR] HTTP Early Hint support
, PHP .HTTP 1xx
. ,103
, Link, , ,200 OK
.
, :103
, ,header()
, βecho
.
, . - API Symfony HTTP.
[RFC] Add IntlDatePatternGenerator
. PHP 8.1IntlDatePatternGenerator
. PHP Internals News #85 RFC.
[RFC] Final class constants
.
Internals bugs.php.net
issues GitHub. , . , . PHP, issue php/doc-en php/doc-ru. .
- Doctrine ORM 2.9 β ORM. PHP 8, , .
- Flarum 1.0.0 β PHP.
- moneyphp/money 4.0 β .
- phpast.com β PHP. nikic/PHP-Parser. : ryangjchandler/phpast.com.
- JBZoo/CI-Report-Converter β CI. β CI (TeamCity, GitHub Actions, etc). smetdenis.
- veewee/xml β XML .
Symfony
- Symfony.
- Symfony 5.3.
- Symfony 6 PHP 8.0 β , .
Laravel
Tinker.
Laravel Jetstream.
Β«One of ManyΒ».
Laravel Octane with Swoole β Beyond the Basics β Laravel core .
- PHP.Watch: PHP.
- Deployer GitHub Actions β deployphp/deployer .
- PHP β .
copy-on-write PHP.
Dependency Injection Software Engineering.
( ).
PHP 35 ?
DTO yzen-dev/plain-to-class.
https://github.com/alexpts/php-data-transformer2 dto dto . .
/
Pengujian mutasi: bagaimana itu akan membantu dan bagaimana menggunakannya dengan lebih baik - Wawancara dengan Max Rafalko pada malam PHP Rusia .
Berlangganan saluran Telegram PHP Digest .
Jika Anda menyukai intisari, tolong beri nilai plus - ini sangat memotivasi untuk terus melakukannya.
Apakah Anda menemukan kesalahan atau salah ketik? Informasikan dalam habr atau telegram pribadi .
Anda dapat mengirim tautan melalui formulir atau hanya dengan menulis kepada saya di telegram .
Mencari link di semua mencerna
β masalah Sebelumnya: PHP-Digest # 203