Intisari PHP #204 (17 - 31 Mei 2021)

Foto: Christian MΓΌnch .



Selama dua minggu inti ini, tim PHP secara aktif membahas proposal untuk Aplikasi fungsi Parsial dan, sebagai alternatif, Nikita Popov menyarankan sintaks yang lebih sederhana untuk mendapatkan tautan ke fungsi apa pun. Juga diusulkan untuk menambahkan properti statis ke enum yang sudah diadopsi di PHP 8.1.



Symfony 6 akan membutuhkan PHP 8.0, dan Doctrine 2.9 yang dirilis mendukung penetapan metadata dalam atribut, bukan PHPDoc.



Juga dalam rilis adalah artikel keren tentang regexps dan instruksi untuk menggunakan Deployer, serta artikel bermanfaat lainnya, paket alat, beberapa video, dan podcast.



Selamat membaca!





PHP Internal



  • [RFC] Sintaks yang dapat dipanggil kelas satu



    [RFC] Partial Function Application .



    //   
    $fn = Closure::fromCallable('strlen');
    $fn = Closure::fromCallable([$this, 'method']);
    $fn = Closure::fromCallable([Foo::class, 'method']);
    
    //   
    $fn = strlen(...);
    $fn = $this->method(...);
    $fn = Foo::method(...);
    
          
          







    , , callable



    . , :

    array_map(Something::toString(...), [1, 2, 3]);
    array_map(strval(...), [1, 2, 3]);
    
    // 
    array_map([Something::class, 'toString'], [1, 2, 3])
    array_map('strval', [1, 2, 3]);
    
          
          





  • [RFC] Disable autovivification on false



    PHP null



    false



    . false



    - Fatal error



    :

    $a = true;
    $a[] = 'value'; // Fatal error: Uncaught Error: Cannot use a scalar value as an array
    
    $a = null;
    $a[] = 'value'; // Ok
    
    $a = false;
    $a[] = 'value'; //   ,   
    
          
          



    3v4l.org/UucOC



  • [RFC] Allow static properties in enums



    PHP 8.1 . video PHP- php.watch.



    , .



    enum Environment {
        case DEV;
        case STAGE;
        case PROD;
    
        private static Environment $currentEnvironment;
    
        /**
         * Read the current environment from a file on disk, once.
         * This will affect various parts of the application.
         */
        public static function current(): Environment {
            if (!isset(self::$currentEnvironment)) {
                $info = json_decode(file_get_contents(__DIR__ . '/../../config.json'), true);
                self::$currentEnvironment = match($info['env']) {
                    'dev' => self::DEV,
                    'stage' => self::STAGE,
                    'prod' => self::PROD,
                };
            }
            return self::$currentEnvironment;
        }
        // Other methods can also access self::$currentEnvironment
    }
    printf("Current environment is %s\n", Environment::current()->name);
    
          
          





    . , .



    , PhpStorm 2021.2 enum



    , 2021.2 EAP.



  • [PR] HTTP Early Hint support



    , PHP . HTTP 1xx



    . , 103



    , Link, , , 200 OK



    .



    , : 103



    , , header()



    , β€” echo



    .



    , . - API Symfony HTTP.



  • memeriksa [RFC] Add IntlDatePatternGenerator



    . PHP 8.1 IntlDatePatternGenerator



    . PHP Internals News #85 RFC.



  • [RFC] Final class constants



    .



  • Internals bugs.php.net



    issues GitHub. , . , . PHP, issue php/doc-en php/doc-ru. .










Symfony







Laravel













/







masyarakat








Berlangganan saluran Telegram PHP Digest .



Jika Anda menyukai intisari, tolong beri nilai plus - ini sangat memotivasi untuk terus melakukannya.



Apakah Anda menemukan kesalahan atau salah ketik? Informasikan dalam habr atau telegram pribadi .



Anda dapat mengirim tautan melalui formulir atau hanya dengan menulis kepada saya di telegram .

Mencari link di semua mencerna

← masalah Sebelumnya: PHP-Digest # 203








All Articles