PHP Digest # 198 (25 de enero - 8 de febrero de 2021)

Foto: Ivan Gantsev .



Actualización de los estándares PSR-6 y PSR-13, almacenamiento en caché de la herencia en opkesh, accesos de propiedad y otras noticias de PHP Internals, dialecto Lisp compilado en PHP, así como herramientas, videos, podcasts y PHP Live Digest .



¡Disfruta leyendo!









Noticias y comunicados



  • 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



    ) .

    var_dump(3.1415, (int) 3.1415);
    
    > float(3.1415)
    > int(3)
    
          
          



    3v4l.org/fP1aC



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



    .
  • cruzar [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 : un lenguaje de programación funcional que se compila en PHP. Es un dialecto Lisp e inspirado en Clojure. Código de muestra:
    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)
    
          
          












La quinta entrega de la transmisión basada en PHP Digest estará en el canal de YouTube de PHP Point hoy . Analizar noticias y enlaces del problema con detalles y detalles. Nuevo anfitrión, invitado en el tema y tradicionalmente una competencia con elefantes.

A partir de las 20:00 Moscú, Minsk / 19:00 Kiev.






Si observa un error o inexactitud, háganoslo saber en un habr personal o telegrama .





Más noticias y comentarios en el canal PHP Digest Telegram .



Enviar enlace

Buscar enlaces en todos los resúmenes

Número anterior: PHP-Digest № 197




All Articles