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


Neue Auswahl mit Links zu Nachrichten und Materialien. In der Ausgabe: Hackte das PEAR-Repository, über die Zukunft von Xdebug, die PHP Russia 2019-Konferenz, aktuelle Releases, RFC-Angebote von PHP Internals, einen Teil 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 jetzt ist die Implementierung des kombinierten Operators mit Überprüfung auf null ??= abgeschlossen und gerendert. Trotz der offensichtlichen Einfachheit der Aufgabe erwies sich die Implementierung als sehr nicht trivial .
    Gesamt: $a ??= $b entspricht $a ?? ($a = $b) $a ?? ($a = $b) . Im Fall von $a[foo()] ??= bar() Funktion foo() genau einmal aufgerufen, und bar() wird aufgerufen, wenn $a[foo()] null (oder nicht gesetzt ist).
    Das Thema ist ein guter Beitrag über andere Kurzoperatoren in PHP .
  • [RFC] Neuer benutzerdefinierter Objekt-Serialisierungsmechanismus - Frischer RFC von Nikita Popov. Es wird vorgeschlagen, einen neuen Mechanismus zur Serialisierung 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 Serialiazable Schnittstelle Serialiazable . Leider ist es nicht möglich, die Schnittstelle selbst zu reparieren, aber wenn der Vorschlag angenommen wird, gibt es eine funktionierende Alternative.
  • [RFC] Codefreier 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; } } 

    Für den obigen Code wird die folgende alternative Syntax vorgeschlagen:
     class MotorCycle($vendor, $cc){ public $whells = 2; //other methods }; class MyCustomMotorCycle($cc, $whells) extends MotorCycle("Custom", $cc){ }; 


Die 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 mich bitte per PM .
Fragen und Vorschläge schreiben Sie an Mail oder Twitter .

Weitere Neuigkeiten und Kommentare zum PHP Digest Telegram Channel.

Link senden
Suchlinks für alle Digests
Vorherige Version: PHP Digest Nr. 147

Source: https://habr.com/ru/post/de437752/


All Articles