PHP Digest # 200 (22 février - 15 mars 2021)

Photo: Grégoire Gaonach



Nouvelle sélection avec des liens vers des nouvelles et des documents. Dans la version: objets dans les initialiseurs, espaces de noms d'extension et autres suggestions RFC pour PHP 8.1. Mise à jour du PSR-11, proposition d'interface d'horloge PSR. Une partie d'outils utiles, des vidéos, des podcasts, des articles et PHP Digest Live à 20h00 GMT.



Bonne lecture!









Nouvelles et communiqués



  • 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 vidéo . , 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













l'audio
















Après une courte pause, nous revenons avec un stream et le présentateur Valentin Udaltsov!



Il y aura une analyse des nouvelles et des liens de la question avec des détails et des détails, l'opinion de Valentine sur les RFC et les articles. Intéressant mais non inclus dans le numéro, les résultats du dessin et une nouvelle compétition avec les é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 # 199




All Articles