Pilihan baru dengan tautan ke berita dan materi. Dalam rilis: rilis PHP 8.0.1, mesin MySQL pada PHP dari Vimeo dan rilis lainnya, Enum diperbarui dan proposal baru untuk PHP 8.1, "kerentanan" di Laminas, alat, artikel, video, PHP Live Digest pada pukul 20:00 waktu Moskow.
Selamat membaca!
Berita dan rilis
- PHP 8.0.1, 7.4.14, 7.3.26 β CVE-2020-7071 url_parse() -
http://php.net\@aliyun.com/aaa.do
. 8.0 7.4 .
PHP β Skyeng PHP Digest.- PHP - Git: β github.com/php/doc-base!
PHP Internals
- [RFC] Enumerations, Round 2 β Enum PHP . : () , Enum ; ;
value()
. β 194 . - [RFC] Bundling ext/simdjson into core β PHP simdjson. ext/json json .
, . PECL , . - [RFC] Array unpacking with string keys β PHP 5.6 :
variadic_function(...['apple', 'banana', 'lemon']);
PHP 7.4 :
$parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
. PHP 8.0 , .
PHP 8.1 :
$array1 = ['a' => 'apple', 'p' => 'pear']; $array2 = ['b' => 'banana', 'o' => 'orange']; $array = [...$array1, ...$array2]; // : $array = array_merge($array1, $array2);
- [PR] Use 'ENT_QUOTES|ENT_SUBSTITUTE' for HTML encoding and decoding functions β - ,
htmlspecialchars()
ENT_QUOTES
ENT_SUBSTITUTE
:
β’ ENT_QUOTES β WordPress
β’ ENT_QUOTES β Blade (Laravel)
β’ ENT_QUOTES | ENT_SUBSTITUTE β Twig (Symfony or Slim)
β’ ENT_QUOTES | ENT_SUBSTITUTE β CodeIgniter
β’ ENT_QUOTES | ENT_SUBSTITUTE β CakePHP
β’ ENT_QUOTES | ENT_SUBSTITUTE β Yii
.
[RFC] Restrict $GLOBALS usage β . $GLOBALS
PHP 8.1Membaca, menulis, isset dan unset akan terus berfungsi:$GLOBALS['x'] = 1; echo $GLOBALS['x'] isset($GLOBALS['x']); unset($GLOBALS['x']);
Tetapi upaya untuk mengubah variabel itu sendiri$GLOBALS
akan menyebabkan kesalahan:$GLOBALS = []; $GLOBALS =& $x; $x =& $GLOBALS; unset($GLOBALS);
Selain itu, kesalahan akan terjadi jika Anda meneruskan$GLOBALS
referensi ke fungsi:asort($GLOBALS); // > Compile-time error
Semua ini menyederhanakan internal PHP dan meningkatkan kinerja operasi array PHP.
- [RFC] Concepts to improve mysqli extension β PHP PDO. mysqli. , .
- [RFC] Add array_is_list(array $array): bool β ,
true
,0, 1, 2 ... count($value)-1
.is_list()
array_is_list()
. .
Symfony PHP 8.1 . - PHP 8.1 : xxHash MurmurHash3.
Dump Debugging Evolved β Ray β Spatie β Ray. ray($anything)
, PHP- .
Xdebug, .var_dump(...)/die()
, .
PHP Live.- AdamGaskins/barcoder β SVG- (QR, Datamatrix, ..).
- vimeo/php-mysql-engine β MySQL PHP. , , MySQL . PDO PDO MySQL. : .
- jvoisin/snuffleupagus β PHP- c. , , , , .
- mbunge/php-attributes β / PHP 8. .
- mlocati/docker-php-extension-installer β PHP- Docker.
- php-opencv/php-opencv β ( , , . .) PHP 8. .
Symfony
- 5 , Symfony 5.2 + PHP 8.0
- How to create service bundles for a Symfony application
- Symfony #732 (4-10 2021)
- 2020 Symfony
Laravel
- REST API tailflow/laravel-orion.
Laravelβ (28 2020 β 10 2021)- lorisleiva/laravel-actions 2.0 β -.
Laravel Snippet #26 β Jetstream 2.x, Forge Circles, Spark Β«NextΒ», React SPAs.
Yii
Zend / Laminas
- 2020 Laminas Project
- Zend Framework / Laminas β «» :
class MyClassWithToString { public $name; public function __construct($name) { $this->name = $name; } public function __toString() { return (string) $this->name; } } $input = unserialize('O:19:"MyClassWithToString":1:{s:4:"name";s:15:"/tmp/etc/passwd";}'); if ($input instanceof MyClassWithToString) { unlink($input); }
is_string()
unlink()
. , . php.net ,unserializie()
.
, 2017 ,unserialize()
( PHP).
Yii.
Async PHP
- Swoole PHP 4.6.0 β URL.
- amphp/mysql-dbal β Doctrine DBAL/ORM Amphp v3.
- PHP FPM Kubernetes .
- β , PHP. , public/private get set
clone-with.
PSR-7. - PHP
legacy β , ! PHP
/
PHP Live #2: PHP 8.1, , .
Event Sourcing β EventSaucePHP/EventSauce.
-- Mathhew Napoli β m50/simple.
60+ - PHP-, .- PHP- 3D .
- github.com/thank-you-php β PHP. -
.
Hari ini akan ada aliran ketiga berdasarkan PHP Digest. Analisis berita dan link dari masalah dengan detail dan detail, gambaran umum tentang apa yang dikirim, menarik tetapi tidak termasuk dalam masalah, hasil pengundian dan kontes baru dengan gajah.
Mulai pukul 20:00 Moskow, Minsk / 19:00 Kiev.
Jika Anda melihat kesalahan atau ketidakakuratan, harap beri tahu kami melalui habr atau telegram pribadi .
Lebih banyak berita dan komentar di saluran Telegram PHP Digest .
Kirim tautan
Cari tautan di semua intisari
β Edisi sebelumnya: PHP Digest # 195