PHP ダイジェスト # 204 (2021 年 5 月 17 日 - 31 日)

写真:クリスチャン・ミュンヘン



コアのこの 2 週間で、PHP チームは部分関数適用の提案について積極的に議論し、代わりに、ニキータ・ポポフは、任意の関数へのリンクを取得するためのより単純な構文を提案しました。PHP 8.1 ですでに採用されている列挙型に静的プロパティを追加することも提案されています。



Symfony 6 は PHP 8.0 を必要とし、リリースされた Doctrine 2.9 は PHPDoc の代わりに属性でのメタデータの指定をサポートします。



このリリースには、正規表現と Deployer の使用方法に関するクールな記事、その他の役立つ記事、ツールのパック、ビデオ、ポッドキャストも含まれています。



読書を楽しむ!





PHP の内部



  • [RFC] ファーストクラスの呼び出し可能な構文



    [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 . ビデオ 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.



  • 小切手 [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













/







コミュニティ








PHP ダイジェスト テレグラム チャネルに登録します



ダイジェストが気に入った場合は、プラスしてください。これは、それを続けるための非常にモチベーションになります。



間違いやタイプミスに気づきましたか? 個人的なハブまたは 電報で通知し ます。



フォームからリンク送信するか、電報で私にメール送信してください

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

前号: PHP-Digest # 203








All Articles