PHPダイジェスト#198(2021年1月25日-2月8日)

写真:IvanGantsev



PSR-6およびPSR-13標準の更新、opkeshでの継承のキャッシュ、プロパティアクセサー、PHP Internalsからのその他のニュース、PHPにコンパイルされたLisp方言、ツール、ビデオ、ポッドキャスト、PHPライブダイジェスト



読書を楽しむ!









ニュースとリリース



  • 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()



    .
  • クロス [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 -PHPにコンパイルされる関数型プログラミング言語。これはLisp方言であり、Clojureに触発されています。サンプルコード:
    隠しテキスト
    # 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)
    
          
          












PHPダイジェストベースのストリームの第5回目は、本日PHP PointYouTubeチャンネルで行われます 問題からのニュースとリンクを詳細と詳細とともに解析します。新しいホスト、問題のゲスト、そして伝統的に象との競争。

20:00モスクワ、ミンスク/ 19:00キエフから。






エラーや不正確さに気付いた場合は、個人のhabrまたは電報でお知らせください





PHPダイジェスト テレグラムチャネルに関するその他のニュースとコメント



リンクを送信

すべてのダイジェストで リンクを検索

前号:PHP-ダイジェスト№197




All Articles