ニュースや資料へのリンクを含む新鮮なセレクション。リリースでは:配列キーとしてのオブジェクトおよびPHP 8.1用の他のRFC提案、PHPでWebAssemblyを実行、配列内の衝突、便利なツール、記事、ビデオ、PHPライブダイジェストの一部について。
読書を楽しむ!
ニュースとリリース
- PHPロシアは2021年6月28日に延期されます。
- PHPの世界での今年の結果-Skyengコミュニティ調査とPHPダイジェスト。先週参加しました。
PHP内部
- [RFC] Object keys in arrays
.
$obj1 = new stdClass; $obj2 = new stdClass; $array = []; $array[$obj1] = 1; $array[$obj2] = 2; var_dump($array[$obj1]); // int(1) var_dump($array[$obj2]); // int(2)
SplObjectStorage
WeakMap
, . . ,array_*
.
, , , .
, RFC Enumerations . . . - [RFC] Object scoped RNG Implementations
rand()
mt_rand()
(seed)srand()
. - .
API , .
$seed = 1234; $rng = new RNG\MT19937($seed); $array = [1, 2, 3, 4, 5]; shuffle($array, $rng); //
, , , : random_bytes() random_int().
- [RFC] var_representation(): readable alternative to var_export()
var_export()
, , . RFCarray( )
[ ]
.
var_representation($value, int $flags=0) :string
,var_export()
.
brick/varexporter. - [RFC] Change Default mysqli Error Mode
mysqli ( PHPLive#3 ) : . :mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
mysqli CodeIgniter WordPress. - [RFC] Dump results of expressions in `php -a` —
php -a
. - PHP 8.1: What's New and Changed — php.watch , PHP 8.1. RFC - .
- fabpot/local-php-security-checker — composer.json . FriendsOfPHP/security-advisories.
GitHub action Docker- oxcom.
- funivan/PhpClean — PhpStorm, , , , , . .
- wasmerio/wasmer-php — WebAssembly PHP. wasm- PHP. Rust, wasm PHP. . .
- temporalio/sdk-php — PHP-SDK temporal.io – , , , , -.
.. - :#[Workflow\WorkflowInterface] class LoopWorkflow { private array $values = []; private array $result = []; private $simple; public function __construct() { $this->simple = Workflow::newActivityStub( SimpleActivity::class, ActivityOptions::new()->withStartToCloseTimeout(5) ); } #[SignalMethod] public function addValue( string $value ) { $this->values[] = $value; } #[WorkflowMethod(name: 'LoopWorkflow')] public function run( int $count ) { while (true) { yield Workflow::await(fn() => $this->values !== []); $value = array_shift($this->values); $this->result[] = yield $this->simple->echo($value); if (count($this->result) === $count) { break; } } return $this->result; } }
RoadRunner, reactphp/promise, PHP 8. , .
Symfony
- chaos-php/chaos-monkey-symfony-bundle — Chaos Monkey Symfony-. , .
- Symfony: UX — JavaScript Symfony
- Symfony 5.2: PHP 8
- Symfony #734 (18-24 2021)
Laravel
- umbrellio/laravel-pg-extensions — Laravel Postgres.
- fico7489/laravel-eloquent-join — Eloquent.
- artisan.page — Laravel artisan.
- / multitenant Laravel Jetstream — .
- Laravel Github Actions
- 18
- Laravel– (18–24 2021)
Yii
Async PHP
- walkor/Workerman — API, HTTP, WebSocket, SSL. libevent.
PHP the-benchmarker/web-frameworks, , .
socket.io walkor/phpsocket.io, PSR-7,15,17 chubbyphp/chubbyphp-workerman-request-handler, gotzmann/comet.
- PHP — , , PHP – -, DoS-.
2011 , 2^16 = 65536 PHP 30 0.01 . - php.watch: PHP Curl Security Hardening — cURL PHP .
- Telegram- PHP — beyondcode/expose.
- GitHub GitHub Actions PHP.
- PHP.
- : 30 .
- PHP GitHub Scrutinizer.
- GitHub Actions.
/
- Xdebug 3: Diagnostics — , Xdebug - .
- PhpStorm — , Christoph Rumpel PhpStorm: Mastering PhpStorm.
- Live-coding a Bref Queue — PHP -. Matthieu Napoli, Bref.
- PHP Release Radar #2: PHP 8 — Sara Golemon Gabriel Caruso 8.0, PHP .
- -, PHP.
- PHP 8 — @jrf_nl, , PHP 8 .
, PHP 1997-2017.
Brent Roose , , .
. . , , PHP 8.0TypeError
:
3v4l.org/pU0LDvar_dump(round("foo"));
, , :
3v4l.org/Ln9g3$sub = substr('abcdef', 4, -4); if ($sub === false) { echo 'fail'; } else { echo 'do something with $sub'; } // PHP 5-7 > 'fail' // PHP 8 > 'do something with $sub'
: understandlegacycode.com. - 私に依存した場合のPHPの外観-BrentRooseからの望ましい機能の選択:デフォルトではfinalとvoid、混合なし、パラメーターとプロパティを入力する必要があります、ジェネリック、それらなしでどこに行くことができますか、enams、スカラーのオブジェクト。
今日は、PHPダイジェストに基づく4番目のストリームがあります。テキスト版に含まれていない詳細と興味深い詳細を含む問題からのニュースとリンクの解析。新しい楽器についての話をするゲストのアントン・ティトフ。抽選の結果と象との新たな競争。
20:00モスクワ、ミンスク/ 19:00キエフから。
エラーや不正確さに気付いた場合は、個人のhabrまたは電報でお知らせください。
PHPダイジェスト テレグラムチャネルに関するその他のニュースとコメント 。
リンクを送信
すべてのダイジェストで リンクを検索
← 前号:PHP-ダイジェスト№196