Nouvelle sélection avec des liens vers des nouvelles et des documents. Dans la version: objets comme clés de tableau et autres propositions RFC pour PHP 8.1, exécutant WebAssembly en PHP, sur les collisions dans les tableaux, une partie d'outils utiles, articles, vidéos, PHP Live Digest .
Bonne lecture!
Nouvelles et communiqués
PHP Russie est reporté au 28 juin 2021.
PHP â Skyeng PHP Digest. , .
PHP Internals
- [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. - A quoi ressemblerait PHP s'il dĂ©pendait de moi - Une sĂ©lection de fonctionnalitĂ©s souhaitables de Brent Roose: final et vide par dĂ©faut, pas de mixage, les paramĂštres et propriĂ©tĂ©s doivent ĂȘtre typĂ©s, gĂ©nĂ©riques, oĂč peut-on aller sans eux, enams, objets pour scalaires .
Aujourd'hui, il y aura le quatriÚme flux basé sur PHP Digest. Analyse des actualités et des liens du numéro avec des détails et des détails intéressants non inclus dans l'édition de texte. Invité Anton Titov avec une histoire sur un nouvel instrument. Ainsi que les résultats du dessin et un nouveau concours avec des éléphants.
Ă partir de 20h00 Moscou, Minsk / 19h00 Kiev.
Si vous remarquez une erreur ou une inexactitude, veuillez nous en informer dans un habr personnel ou un télégramme .
Plus de nouvelles et de commentaires sur la chaĂźne PHP Digest Telegram .
Envoyer le lien
Rechercher des liens dans tous les résumés
â NumĂ©ro prĂ©cĂ©dent: PHP-Digest â 196