PHP Digest # 200 (22 de febrero - 15 de marzo de 2021)

Foto: Grégoire Gaonach



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 video . , 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 = ''): intprintln



    , stdout



    . str_contains()



    , , .






Symfony





Laravel





Yii













audio
















¡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




All Articles