コアのこの 2 週間で、PHP チームは部分関数適用の提案について積極的に議論し、代わりに、ニキータ・ポポフは、任意の関数へのリンクを取得するためのより単純な構文を提案しました。PHP 8.1 ですでに採用されている列挙型に静的プロパティを追加することも提案されています。
Symfony 6 は PHP 8.0 を必要とし、リリースされた Doctrine 2.9 は PHPDoc の代わりに属性でのメタデータの指定をサポートします。
このリリースには、正規表現と Deployer の使用方法に関するクールな記事、その他の役立つ記事、ツールのパック、ビデオ、ポッドキャストも含まれています。
読書を楽しむ!
PHP の内部
[RFC] ファーストクラスの呼び出し可能な構文
[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 . .
/
ミューテーション テスト: それがどのように役立つか、またそれをより良く使用する方法- PHP ロシアの前夜に行われた Max Rafalko へのインタビュー。
PHP ダイジェスト テレグラム チャネルに登録します 。
ダイジェストが気に入った場合は、プラスしてください。これは、それを続けるための非常にモチベーションになります。
間違いやタイプミスに気づきましたか? 個人的なハブまたは 電報で通知し ます。
フォームからリンクを送信するか、電報で私にメールを送信してください。
すべてのダイジェストでリンクを検索
←前号: PHP-Digest # 203