PHP Digest Nummer 148 (14. - 28. Januar 2019)

Published on January 27, 2019

PHP Digest Nummer 148 (14. - 28. Januar 2019)


    Frische Auswahl mit Links zu Nachrichten und Materialien. In der Veröffentlichung: Das PEAR-Repository wird gehackt, die Zukunft von Xdebug, die PHP Russia 2019-Konferenz, die neuesten Veröffentlichungen, RFC-Angebote von PHP Internals, eine Reihe nützlicher Tools und vieles mehr.

    Viel Spaß beim Lesen!



    Nachrichten und Veröffentlichungen



    PHP-Interna


    • [RFC] Null Coalescing Assignment Operator - Der Vorschlag wurde vor mehr als zwei Jahren angenommen. Und hier ist die Implementierung des kombinierten Operators mit der Überprüfung auf Null ??=endlich abgeschlossen und abgeschlossen. Trotz der scheinbaren Einfachheit der Aufgabe war die Implementierung sehr nicht trivial .
      Gesamt: $a ??= $bGegenwert $a ?? ($a = $b). Im Falle einer $a[foo()] ??= bar()Funktion foo()wird genau einmal aufgerufen, und bar()wird aufgerufen, wenn $a[foo()]gleich null(oder nicht gesetzt).
      Im Thema eines guten Beitrags über andere Kurzoperatoren in PHP .
    • [RFC] Neuer Mechanismus zur benutzerdefinierten Objektserialisierung - Neuer RFC von Nikita Popov. Es wird vorgeschlagen, einen neuen Mechanismus zum Serialisieren von Objekten einzuführen, indem einige magische Methoden hinzugefügt werden:

      // Returns array containing all the necessary state of the object.
      public function __serialize(): array;
      // Restores the object state from the given data array.
      public function __unserialize(array $data): void;
      

      Diese Änderung soll Schnittstellenprobleme beheben Serialiazable. Leider ist es nicht möglich, die Schnittstelle selbst zu reparieren, aber wenn der Vorschlag angenommen wird, wird es eine funktionierende Alternative geben.
    • [RFC] Code-freier Konstruktor - Es wird vorgeschlagen, einen automatischen Konstruktor hinzuzufügen, dessen Aufgabe darin besteht, Eigenschaften zu initialisieren:
      Versteckter Text
      class MotorCycle {
          public $vendor;
          public $cc;
          public $whells = 2;
          public function __construct($vendor, $cc) {
              $this->vendor = $vendor;
              $this->cc     = $cc;
          }
          //other methods
      }
      class MyCustomMotorCycle extends MotorCycle {
          public function __construct($cc, $whells) {
              parent::__construct("Custom", $cc);
           // $this->cc = $cc;  this statement will be added within proposed realisation
              $this->whells = $whells;
          }
      }
      

      для кода выше предлагается следующий альтернативный синтаксис:
      class MotorCycle($vendor, $cc){
          public $whells = 2;
          //other methods
      };
      class MyCustomMotorCycle($cc, $whells) extends MotorCycle("Custom", $cc){ };
      


    Werkzeuge



    Symfony



    Laravel



    Async PHP



    CMS



    Lernmaterialien




    Unterhaltsam


    • Code Galaxies - Eine unterhaltsame 3D-Visualisierung der Beziehungen zwischen Composer-Paketen.

    Vielen Dank für Ihre Aufmerksamkeit!

    Wenn Sie einen Fehler oder eine Ungenauigkeit bemerken, informieren Sie bitte die PM .
    Schreiben Sie Fragen und Vorschläge per E-Mail oder Twitter .

    Weitere Neuigkeiten und Kommentare zum PHP Digest Telegram-Kanal .

    Link senden
    Nach Links in allen Digests suchen
    Vorherige Version: PHP Digest Nummer 147