PHP Digest # 198 (25 de janeiro - 8 de fevereiro de 2021)

Foto: Ivan Gantsev .



Atualização dos padrões PSR-6 e PSR-13, cache de herança em opkesh, acessadores de propriedade e outras notícias do PHP Internals, dialeto Lisp compilado para PHP, bem como ferramentas, vídeos, podcasts e PHP Live Digest .



Gostar de ler!









Notícias e lançamentos



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



    .
  • Cruz [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 - Linguagem de programação funcional que compila para PHP. É um dialeto Lisp e inspirado em Clojure. Código de amostra:
    Texto oculto
    # 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)
    
          
          












A quinta parcela do fluxo baseado em PHP Digest estará no canal PHP Point no YouTube hoje . Analisando notícias e links do problema com detalhes e detalhes. Novo anfitrião, convidado na edição e tradicionalmente uma competição com elefantes.

Começando às 20:00 Moscou, Minsk / 19:00 Kiev.






Se você perceber um erro ou imprecisão, informe-nos por meio de um habr ou telegrama pessoal .





Mais notícias e comentários no canal PHP Digest Telegram .



Enviar link

Links de busca em todos os resumos

← Número anterior: PHP-Digest № 197




All Articles