Intisari PHP #205 (1 - 15 Juni 2021)





Pilihan berita dan materi segar dari dunia PHP. Dalam rilis: alpha pertama dari PHP 8.1.0, Composer 2.1, Symfony 5.3, dan rilis lainnya. Ikhtisar proposal baru untuk PHP 8.1: Aplikasi Fungsi Parsial, operator pipa, properti readonly. Ditambah sebagian alat, artikel, video, dan podcast yang berguna.



Selamat membaca!



berita



  • PHP 8.1.0 alfa 1



    - PHP 8.1. . 25 .



    20 , . :



    • Enum RFC;
    • never



      RFC;
    • RFC;
    • RFC;
    • RFC;
    • float



      int



      , RFC;
    • Serializable



      RFC;
    • 0o



      RFC;
    • $GLOBALS RFC;


    php.watch/versions/8.1.



  • PHP 8.0.7, PHP 7.4.20



    .



  • PhpStorm 2021.2



    , . , .

    : PHP 8.1, Extract Method, .



  • Composer 2.1.0



    reinstall



    , . .



  • packagist.org PHP-



    Composer, Jordi Boggiano, PHP.



    , packagist.org/php-statistics.



    , , , symfony/console/php-stats.



  • PHP Russia 2021



    28 . โ€” habr , , .



    : php_digest.





PHP Internals



  • [RFC] Partial Function Application



    RFC First-class callable syntax.



    โ€” . ...



    , ?



    โ€” .



    :

    1. $func = some_func(...)



      โ€” . , .
    2. $func = some_func(1, 2, ?, 5)



      โ€” , .
    3. $func = any_func($all, $params, ...)



      โ€” , . , .


  • [RFC] Pipe Operator v2



    , - .



    :



    array_filter(array_map('strtoupper', str_split(htmlentities("Hello World"))), fn($v) => $v != 'O');
    
          
          





    :



    $result = "Hello World"
        |> htmlentities(?)
        |> str_split(?)
        |> array_map(strtoupper(?), ?)
        |> array_filter(?, fn($v) => $v != 'O');
    
          
          





  • [RFC] Pure intersection types



    , . audio PHP Internals News #88 George Peter Banyard, RFC.



  • [RFC] Readonly properties 2.0



    RFC readonly .



    readonly



    . .



    class Test {
        public readonly string $prop;
    
        public function __construct(string $prop) {
            // Legal initialization.
            $this->prop = $prop;
        }
    }
    
    $test = new Test("foobar");
    // Legal read.
    var_dump($test->prop); // string(6) "foobar"
    
    // Illegal reassignment. It does not matter that the assigned value is the same.
    $test->prop = "foobar";
    // Error: Cannot modify readonly property Test::$prop
    
          
          







    constructor property promotion PHP 8.0, :



    class User {
        public function __construct(
            public readonly string $name
        ) {}
    }
    
    $user = new User('Roman');
    echo $user->name; // Ok
    $user->name = 'Nikita'; // Error
    
          
          





  • [RFC] Make reflection setAccessible() no-op



    , ->setAccessible(true)



    .



    Marco ยซOcramiusยป Pivetta , ReflectionProperty



    ReflectionMethod



    , setAccessible(true)



    .



    class Foo { private $bar = 'a'; }
    
    (new ReflectionProperty(Foo::class, 'bar'))->getValue();
    
          
          















Symfony







Laravel







Yii













/








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 # 204








All Articles