ニュースや資料へのリンクを含む新鮮な選択。 リリースでは、PHPアップデート、Codeception 3.0およびその他のリリース、PHP 7.4の短いラムダ、PHP Internalsの最新のRFC文の概要、便利なツールの一部などが含まれます。
素敵な読書を!
ニュースとリリース
- PHP 7.3.5
- PHP 7.2.18
- PHP 7.1.29
- Codeception 3.0-インタラクティブコンソールの改善、手順の繰り返し、PHPUnit 8のサポートなど。
- spiral / roadrunner 1.4.0 -Goでのアプリケーションサーバー、バランサー、プロセスマネージャーの更新。 このリリースには、ワーカーの安全な停止、構成内の環境変数のサポート、プール内のワーカーを制御する機能などが含まれています。 新しいウェブサイトroadrunner.devがあります。
- PHPロシア 2019-5月17日、モスクワ、Infospace。 最後の価格上昇まで数日しか残っていません。
PHP内部
- [RFC] Arrow Functions 2.0-提案は投票に合格し、承認されました。 PHPには、
fn() =>
という構文を使用して、値によって外部スコープから変数を自動的にキャプチャする短い匿名関数があります。$y = 1; $fn = fn($x) => $x + $y;
これまでのところ、関数は厳密に1つの式のみを持つことができ、その結果が返されます。 複数行の機能は後で実装できます。 JSのように&&演算子を使用したハックは機能しません。非表示のテキストただし、andOperator = ($x) => ($y = 10) && $x + $y; console.log(andOperator(5)); // 15
$andOperator = fn($x) => ($y = 10) && $x + $y; var_dump($andOperator(5)); // bool(true)
end()
を使用してハックを適用できます。非表示のテキスト<?php function last(...$args) { return end($args); } $multipleLines = fn($x) => last( $y = $x * 10, // 10 $z = $y + 15, // 25 $x + $y + $z // 1 + 10 + 25 last() ); var_dump($multipleLines(1)); // int(36)
または、array_slice()
を使用して、 Grikdotnetのヒントをありがとう:
非表示のテキスト$multipleLines = fn($x) => array_slice([ $y = $x * 10, $z = $y + 15, $x + $y + $z ], -1)[0]; var_dump($multipleLines(1)); // int(36)
- [RFC] PHPの短いオープンタグの廃止 -提案では、短いタグ
<?
しかし、それはandりと論争の嵐によって満たされました。 したがって、はるかに穏やかな方法が提案されました。次のバージョンでは、機会はそのまま利用可能であり、非推奨の警告がスローされます。 - [RFC]配列式のスプレッド演算子 -提案はほぼ満場一致で受け入れられました。 演算子
...
が配列で使用可能になります。非表示のテキストまた、それを使用すると、iterator_to_arrayを使用する代わりに、イテレーターを配列にすばやく変換でき$parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
iterator_to_array
。$array = [...$iter];
- RFC:__toString()からの例外のスローを許可する-Nikitaは「PHPの悲しみ」を 1つずつ体系的に修正し続けます。 今回は
__toString()
例外をスローする機能について話しています。 PHP 7.4の別の素晴らしい改善であり、些細な改善ではありません。これにより、あらゆる種類の回避策1、2を使用する必要がなくなります。 - PHP Internals News#7 -Derick Rethansが、Zeev SuraskyとPHP 8以前の実装のJITについて話します。
- PHP Internals News#8-短いタグについて、PHPドキュメントの寄稿者であるGeorge Banyardとの会話。
ツール
- kalessil / production-dependencies-guard-このパッケージは、composer.jsonファイルのrequireセクションへのdev依存関係(テストおよびデバッグツールなど)の追加を防ぎ、他のいくつかのチェックも行います。
- jakoch / awesome-composer -Composerのリソースとツールの選択。
- twirphp / twirp -PHPのTwitch Twirp RPCフレームワークのポート。 サポートに投稿します。
- EFTEC / BladeOne-単一のファイルにあり、依存関係のないフレームワークに依存しないバージョンのBlade。
- fe3dback / str-マルチバイト文字列を操作およびサポートするための多くのメソッドを持つ文字列のオブジェクトラッパー。
symfony
- saa-nl / zymfony-bundle -Zend Framework 1からSymfony 4に移行するためのコンポーネントのセット。名前は図に似ていました。
- Symfony Week#643(2019年4月22〜28日)
- Symfony Week#644(2019年4月29日-5月5日)
ララヴェル
- VanOns / laraberg -Laravel用のWordPress Gutenbergブロックエディターポート。
- aimeos / aimeos-laravel -Laravelに基づく別の電子商取引ソリューション。
- 雄弁の仕組み -Laravel Core Adventures
- Laravelでのイベントソーシングの 開始-spatie / laravel-event-projectorを使用します 。
- Taylor Podcast Laravel Snippet#12 -Vue SPA、Intertia.js、Livewire、Short Lambdas、PHP RFCの問題。
Yii
- Insolita / yii2-codestat -Yii 2のアプリケーション統計を読み取ります。
- omnilight / yii2-scheduling -Yii 2のLaravelからのタスクスケジューラポート。
- YiiチームがMehdi Achourに参加
- Yii3のレビュー
非同期PHP
- ReactPHPを使用したRESTful APIの作成: 基本的なHTTP認証とJWTを使用した認証
- 非同期PHP。 なんで?
学習教材
- FFIウサギホールとしても知られているPHPコンパイラ -コンパイラの種類、その構築の原理、および実際にLLVMとPHP自体を使用した事前(AOT)PHPコンパイラの実装に関する興味深い投稿。
- 54357行のコードをNetteからSymfonyに 80時間未満で一緒に移行した方法 。
- PhpStormからPHPUnitテストを実行する
- PSR-14に関する一連の記事 - 遅延環境および非同期環境での使用に関するリリースによって補足されます。
- azdanov / php-interview-exercises-インタビューで与えられる典型的なアルゴリズムの問題の解決を実践するための便利なリポジトリ。
- 高負荷の状況でPHPコードをデプロイする5つの方法
- リアルタイムでのPHPスクリプトの統計と監視。 ClickHouseとGrafanaは、Pinbaを支援しに行きます。
- PHPでシングルトンデザインパターンを破る
- Spatie / Periodを更新するためのストリーミング -他の誰かのモニターを覗くのは非常に有益です。
- SDCast#103:Away Nikita Popov-ロシア語でNikitaにPHPとその開発のさまざまな側面についてのインタビュー。
ご清聴ありがとうございました!
間違いや不正確さに気付いた場合は、 午後にお知らせください。
質問や提案はメールまたはツイッターに書き込みます。
PHP Digest Telegram Channelに関するその他のニュースとコメント。
リンクを送信
すべてのダイジェストの検索リンク
← 前のリリース:PHP Digest No. 154