PHP Digest # 200 (22 Februari - 15 Maret 2021)

Foto: GrΓ©goire Gaonach



Pilihan baru dengan tautan ke berita dan materi. Dalam Rilis: Objek di Penginisialisasi, Ruang Nama Ekstensi, dan Saran RFC Lainnya untuk PHP 8.1. Memperbarui PSR-11, mengusulkan Antarmuka Jam PSR. Sebagian dari alat, video, podcast, artikel, dan PHP Digest Live yang bermanfaat pada pukul 20:00 GMT.



Selamat membaca!









Berita dan rilis



  • 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 = ''): int β€” println



    , stdout



    . str_contains()



    , , .






Symfony





Laravel





Yii













audio
















Setelah istirahat sejenak, kami kembali dengan aliran dan presenter Valentin Udaltsov!



Akan ada penguraian berita dan tautan dari masalah dengan detail dan detail, pendapat Valentine tentang RFC dan artikel. Menarik tetapi tidak termasuk dalam masalah, hasil pengundian dan kompetisi 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

← Masalah sebelumnya: PHP-Digest # 199




All Articles