PHP Digest # 196 (1. - 11. Januar 2021)



Neue Auswahl mit Links zu Nachrichten und Materialien. In Release: PHP 8.0.1 Release, MySQL Engine auf PHP von Vimeo und anderen Releases, aktualisierte Enum und neue Vorschläge für PHP 8.1, "Schwachstelle" in Laminas, Tools, Artikel, Videos, PHP Live Digest um 20:00 Uhr Moskauer Zeit.



Viel Spaß beim Lesen!









Nachrichten und Veröffentlichungen





PHP Internals



  • [RFC] Enumerations, Round 2 — Enum PHP . : () , Enum ; ; value()



    . № 194 .
  • [RFC] Bundling ext/simdjson into core — PHP simdjson. ext/json json .



    , . PECL , .
  • [RFC] Array unpacking with string keys — PHP 5.6 :



    variadic_function(...['apple', 'banana', 'lemon']);
          
          





    PHP 7.4 :



    $parts = ['apple', 'pear'];
    $fruits = ['banana', 'orange', ...$parts, 'watermelon'];
    // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
    
          
          





    . PHP 8.0 , .



    PHP 8.1 :



    $array1 = ['a' => 'apple', 'p' => 'pear'];
    $array2 = ['b' => 'banana', 'o' => 'orange'];
    $array = [...$array1, ...$array2];
    //     :
    $array = array_merge($array1, $array2);
    
          
          



  • [PR] Use 'ENT_QUOTES|ENT_SUBSTITUTE' for HTML encoding and decoding functions — - , htmlspecialchars()



    ENT_QUOTES



    ENT_SUBSTITUTE



    :



    • ENT_QUOTES — WordPress

    • ENT_QUOTES — Blade (Laravel)

    • ENT_QUOTES | ENT_SUBSTITUTE — Twig (Symfony or Slim)

    • ENT_QUOTES | ENT_SUBSTITUTE — CodeIgniter

    • ENT_QUOTES | ENT_SUBSTITUTE — CakePHP

    • ENT_QUOTES | ENT_SUBSTITUTE — Yii

    .
  • prüfen [RFC] Restrict $GLOBALS usage — . $GLOBALS



    PHP 8.1
    Lesen, Schreiben, Ausgeben und Nichteinstellen funktionieren weiterhin:
    $GLOBALS['x'] = 1;
    
    echo $GLOBALS['x']
    
    isset($GLOBALS['x']);
    unset($GLOBALS['x']);
          
          





    Ein Versuch, die Variable selbst zu ändern, $GLOBALS



    führt jedoch zu einem Fehler:
    $GLOBALS = [];
    $GLOBALS =& $x;
    $x =& $GLOBALS;
    unset($GLOBALS);
          
          





    , $GLOBALS



    :
    
    asort($GLOBALS);
    // > Compile-time error
          
          





    PHP PHP.


  • [RFC] Concepts to improve mysqli extension — PHP PDO. mysqli. , .
  • [RFC] Add array_is_list(array $array): bool — , true



    , 0, 1, 2 ... count($value)-1



    . is_list()



    array_is_list()



    . .



    Symfony PHP 8.1 .
  • PHP 8.1 : xxHash MurmurHash3.






Symfony





Laravel





Yii





Zend / Laminas



  • 2020 Laminas Project
  • Zend Framework / Laminas — «» :



    class MyClassWithToString {
        public $name;
    
        public function __construct($name) {
            $this->name = $name;
        }
    
        public function __toString() {
            return (string) $this->name;
        }
    }
    
    $input = unserialize('O:19:"MyClassWithToString":1:{s:4:"name";s:15:"/tmp/etc/passwd";}');
    if ($input instanceof MyClassWithToString) {
        unlink($input);
    }
          
          





    is_string()



    unlink()



    . , . php.net , unserializie()



    .



    , 2017 , unserialize()



    ( PHP).



    Yii.


Async PHP







  • PHP FPM Kubernetes .
  • — , PHP. , public/private get set

    clone-with.



    PSR-7.
  • PHP
  • habr legacy — , ! PHP


/




















Heute wird es den dritten Stream geben, der auf PHP Digest basiert. Analyse von Nachrichten und Links aus der Ausgabe mit Details und Details, eine Übersicht über das, was gesendet wurde, interessant, aber nicht in der Ausgabe enthalten, die Ergebnisse der Zeichnung und ein neuer Wettbewerb mit Elefanten.

Ab 20:00 Uhr Moskau, Minsk / 19:00 Uhr Kiew.






Wenn Sie einen Fehler oder eine Ungenauigkeit bemerken, teilen Sie uns dies bitte in einem persönlichen Habr oder Telegramm mit .





Weitere Neuigkeiten und Kommentare zum PHP Digest Telegram-Kanal .



Link senden

Links in allen Digests suchen

Vorherige Ausgabe: PHP Digest # 195




All Articles