Nueva selección con enlaces a noticias y materiales. En versión: objetos en inicializadores, espacios de nombres de extensión y otras sugerencias de RFC para PHP 8.1. PSR-11 actualizado, interfaz de reloj PSR propuesta. Una parte de herramientas útiles, videos, podcasts, artículos y PHP Digest Live a las 20:00 GMT.
¡Disfruta leyendo!
Noticias y comunicados
- PHP 8.0.3 , PHP 7.4.16 .
- PSR ClockInterface
, , .
:
namespace Psr\Clock; interface ClockInterface { /** * Returns the current time as a DateTimeImmutable Object */ public function now(): \DateTimeImmutable; }
- PSR-11 Container Interface — , 1.1, , 2.0 — .
- Git clone — . Git 2.30.2.
- PhpStorm 2021.1 EAP — : PHP- , JSONPath . , EAP .
- Composer 1.x — 2021 API packagist.org .
PHP Internals
- [RFC] New in initializers
PHP , , , . , , — . .
, , .
static $x = new Foo(); const C = new Foo(); #[AnAttribute(new Foo())] class Test { public const C = new Foo(); public static $prop = new Foo(); public $prop = new Foo(); public function __construct( private Logger $logger = new NullLogger() ) {} } function test($param = new Foo()) {}
new
, .
. , , , , , . PHP Live.
- [RFC] Namespaces in bundled PHP extensions
, PHP, . .
RFC , PHP. .OpenSSLCertificate
OpenSSL\Certificate
.
, , RFC . :
str_contains()
->String\contains()
in_array()
->Array\contains()
.
PHP 9. - [RFC] Static variables in inherited methods
, , . , .
RFC , .
class A { public static function counter() { static $i = 0; return ++$i; } } class B extends A {} var_dump(A::counter()); // int(1) var_dump(A::counter()); // int(2) var_dump(B::counter()); // int(3) var_dump(B::counter()); // int(4)
- [RFC] Fibers
. , . : , , PHP . , :
Swoole. , Swoole PHP, — , .
Joe Watkins, , /. krakjoe/parallel .
, , — , Swoole parallel. - [RFC] noreturn type
Psalm PHPStan PHP —noreturn
.
, ,exit()
,die()
,trigger_error()
.
function redirect(string $uri): noreturn { header('Location: ' . $uri); exit(); } function redirectToLoginPage(): noreturn { redirect('/login'); }
Hack, Python, Psalm, PHPStan PhpStorm#[NoReturn]
exitpoint .phpstormmeta.php. - [RFC] debug_backtrace_depth(int $limit=0): int — debug_backtrace_depth(int $limit=0), . , .
:count(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, $limit=0))
. - [RFC] println(string $data = ''): int —
println
,stdout
.str_contains()
, , .
- spiral/RoadRunner v2.0.0 — PHP Golang.
- QratorLabs/Smocky — runkit7 mock- PHPUnit .
- markdown.
- phpize.online — PHP- 3v4l.org SQL.
Symfony
- symfony/runtime — PHP-FPM, CLI, PHP-PM, Swoole . .
- Symfony 6 PHP 8.0
- ansien/RapidFormBundle — Symfony, PHP 8.
- Symfony
- Symfony Docker
- CI/CD Symfony GitLab
- Symfony #741 (8-14 2021)
Laravel
- RCE Laravel <= v8.4.2 debug mode —
file_get_contents
/file_put_contents
FTP. facade/ignition. - Laravel 7 — LTS 2022.
- spatie/laravel-remote — Artisan spatie/ssh. Freek Van der Herten, c .
- squirephp/squire — Eloquent ( , , .).
- Laravel
- Laravel– (22 – 7 2021)
Yii
- FFI PHP
- PHP.Watch: PHP.
- PHP — .
- Matthias Noback: — ? — , .
- PHP arm64 vs x86_64 — AWS ARM 20% .
- nginx+fpm Swoole PHP API 91% — github.com/appwrite.
- PHP Xdebug 3, Docker Compose PhpStorm.
- CI Laminas — GitHub Actions , 200+ .
- — .
- Run, config, run: Badoo
- 1-:
- ,
- PHP- — , , .
- : PHP
- : ! PHP.
- PHP Release Radar #6: Bref 1.0 — C Matthieu Napoli.
- PHP Internals News #77 — PHP 8.1 fsync David Gebler.
- PHP Internals News #78 — C Andreas Heigl PHP Git. , , PHP Russia.
- PHP №87: PHP 2021
- PHP №86: PHP 8
- 12: –
¡Después de un breve descanso, regresamos con una transmisión y el presentador Valentin Udaltsov!
Habrá un análisis de noticias y enlaces del número con detalles y detalles, la opinión de Valentine sobre RFC y artículos. Interesante pero no incluido en el tema, los resultados del dibujo y una nueva competencia con elefantes.
A partir de las 20:00 Moscú, Minsk / 19:00 Kiev.
Si nota un error o inexactitud, háganoslo saber en un habr o telegrama personal .
Más noticias y comentarios en el canal PHP Digest Telegram .
Enviar enlace
Buscar enlaces en todos los resúmenes
← Número anterior: PHP-Digest # 199