PHP Digest # 198 (25 Januari - 8 Februari 2021)

Foto: Ivan Gantsev .



Memperbarui standar PSR-6 dan PSR-13, warisan caching di opkesh, pengakses properti dan berita lainnya dari PHP Internal, dialek Lisp yang dikompilasi ke PHP, serta alat, video, podcast, dan PHP Live Digest .



Selamat membaca!









Berita dan rilis



  • PHP 8.0.2, 7.4.15, 7.3.27

    SoapClient.



    7.3 . PHP 7.2 PHP .
  • PSR-6 PSR-13.

    , .



    , . PHP 8, union static



    return type



    .



    PSR-6: 1.0.0 vs 3.0.0.

    PSR-13: 1.0.0 vs 2.0.0.



  • Developer Ecosystem 2021 β€” JetBrains

    , PHP . PHP :

  • 12 , 17:00 β€” . PHP, MySQL, , .


PHP Internals



  • [RFC] Warning for implicit float to int conversions

    PHP , . , .



    , (float



    ) (int



    ) .

    function acceptInt(int $i) {
        var_dump($i);
    }
    acceptInt(3.1415);
    
    > int(3)
    
          
          



    3v4l.org/C1bD3



    RFC , float



    .
  • Inheritance Cache

    PR, .



    8% Β«Hello WorldΒ» Symfony. , . PHP , . , !

    PHP opcache, «» . // . , .



    «» (, , , , ..) .



    , . , .
  • [RFC] Property Accessors ! !

    , / .



    -, RFC :

    class User {
        public string $name { get; private set; }
    
        //   
        public string $prop { public get; private set; }
    }
    
          
          





    - :

    class Test {
        // Read-write property.
        public $prop { get; set; } //  `public $prop;`
    
        // Read-only property.
        public $prop { get; }
    }
    
          
          





    -, guard



    .

    class User {
        public string $name {
            guard {
                if (strlen($value) === 0) {
                    throw new ValueError("Name must be non-empty");
                }
            }
        }
    }
    
          
          





    -, lazy



    :

    class Test {
        public string $somethingExpensive {
            lazy {
                return computeSomethingExpensive();
            }
        }
    }
    
          
          





    2013 PHP 5.5, .



    , Internals. , , , . , .
  • [RFC] Fibers β€” . : Swoole:
    Once PHP has a stack coroutine like Fiber, we can do more than what we can do now. Since we can interrupt from PHP internal functions, then we can replace all the implementation of PHP blocking functions, such as sleep(), and we can also replace php_stream so that we can change the implementation of PDO, mysqli, and phpredis into a coroutine way, and we can also make curl become a coroutine version through libcurl's support for multiplexing.

  • [RFC] Enumerations β€” . β„–194 -.
  • [RFC] var_representation(): readable alternative to var_export() β€” , var_export()



    .
  • menyeberang [RFC] Dump results of expressions in `php -a` β€” .
  • PHP 8.1 β€” Brent Roose. - , php.watch.



    RFC PHP RFC Watch





  • vimeo/php-mysql-engine β€” MySQL- () PHP. Matt Brown, Psalm, , Vimeo .



    : SQLite?



    ( ) , Vimeo , PDO('sqlite::memory:'):





    sqlite:           4.00 MiB  - 66 ms
    php-mysql-engine: 10.00 MiB - 330 ms
    


    , SQLite, .

  • cweagans/composer-patches β€” Cmposer, . , PR /, .
  • OndraM/ci-detector β€” CI- .
  • rakibtg/SleekDB β€” NoSQL PHP. JSON-
  • Orangesoft-Development/throttler β€” . Guzzle. .
  • sunrise-php/awesome-skeleton β€” RoadRunner Swoole. fenric.


Symfony





Laravel





Yii









/







  • Phel - Bahasa pemrograman fungsional yang dikompilasi ke PHP. Ini adalah dialek Lisp dan terinspirasi oleh Clojure. Kode sampel:
    Teks tersembunyi
    # Define a namespace
    (ns my\example)
    
    # Define a variable with name "my-name" and value "world"
    (def my-name "world")
    
    # Define a function with name "print-name" and one argument "your-name"
    (defn print-name [your-name]
      (print "hello" your-name))
    
    # Call the function
    (print-name my-name)
    
          
          












Angsuran kelima dari streaming berbasis PHP Digest akan ada di saluran YouTube PHP Point hari ini . Mengurai berita dan link dari masalah dengan detail dan detail. Tuan rumah baru, tamu dalam masalah ini, dan secara tradisional kompetisi 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

← Edisi sebelumnya: PHP-Digest β„– 197




All Articles