Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

PHP 7 Release: Wichtige Features & Was Entwickler wissen müssen

Entwickler kennen wahrscheinlich die feature-complete Beta von PHP 7. Version 7.0.0 bringt viele coole Features und Funktionalitäten. Empfehlung: Nicht in Produktion nutzen, bis die stabile Version (erwartet November ’15) vorliegt. Testen und Bug-Reporting sind ausdrücklich erwünscht. Hier alle Änderungen/Upgrades in PHP 7.0.0.

16. Das ist PHP 7 (nicht 6)

Aktuelle Stable: PHP 5.6. Viele erwarteten 6.0. Was sie nicht wissen: PHP 6 existierte früher als Experiment, erreichte nie Production. Core-Team entschied, „PHP 6“ für den nächsten Major-Release zu überspringen.

15. 64-Bit Windows Support

Aktuelle PHP-Version bietet keine 64-Bit-Integers oder Large-File-Support. PHP 7 führt konsistenten 64-Bit-Support ein: native 64-Bit-Integers und Large Files werden unterstützt.

14. Entfernung veralteter Funktionen und Extensions

Hauptziel: Speicher freimachen für Verbesserungen. Alte, nicht mehr unterstützte Server-APIs, Extensions und deprecated Funktionalitäten wurden entfernt. Alle entfernten Items waren lange ungenutzt. Legacy-Apps auf älteren Versionen können beim Upgrade auf PHP 7 brechen.

13. Group Use Declarations

RFC zur Verbesserung der Namespace-Implementierung durch Gruppendeklarationen. Nützlich für Entwickler, die viele Klassen aus demselben Namespace importieren. Neue Syntax reduziert Verbosity, macht Code aufgeräumter, spart Tipparbeit.

12. Anonyme Klassen

Konzept aus Java und C#. Klassen ohne Namen, die Coding- und Execution-Time beschleunigen. Einsatz: Klasse wird nur einmal während Execution genutzt und muss nicht dokumentiert werden.

11. Uniform Variable Syntax

Löst Inkonsistenzen bei Expression-Evaluation. Beispiel: Closure, die Properties zugewiesen ist, aufrufen via ($object->closureProperties)(); statische Calls verketten. In alter PHP-Version: $obj->$properties['name'] greift auf Property zu, dessen Name im 'name'-Key des Properties-Array steht. Neu: Zugriff auf 'name'-Key der Property, deren Name in $properties steht.

10. Unicode Codepoint Escape Syntax

Neuer Escape-Charakter \u erlaubt Unicode-Codepoints (hexadezimal) eindeutig in Strings. Beispiel: Emoji nicht tippen? Escape-Sequenz nutzen.

9. Gemeinsame Parent-Klasse in Exception Handling

Für PHP-Entwickler war Handling von Fatal und Catchable Fatal Errors nie einfach. Mit neuen Engine Exceptions lassen sich diese Fehler durch Exceptions ersetzen. Um sowohl traditionelle als auch Engine Exceptions abzufangen, führt PHP 7 gemeinsamen Parent-Class \BaseException ein.

8. Bind Closure on Call

Closure::bind() und Closure->bindTo() erlauben Änderung der Bindung von $this und Calling Scope, separat oder zusammen, erzeugen duplizierte Closure. PHP 7 bietet einfacheren Weg zur Call-Time: Closure->call() bindet sowohl $this als auch Calling Scope an dasselbe Objekt. Methode nimmt Objekt als erstes Argument, gefolgt von Argumenten für die Closure.

7. Null Coalesce Operator

Operator ??. Gibt ersten Operanden zurück, falls existent und nicht NULL, sonst zweiten Operanden. Sicher: Kein E_NOTICE, falls Wert nicht existiert.

6. Combined Comparison Operator (Spaceship Operator)

<=> – ähnlich version_compare() oder strcmp(), aber für alle generischen PHP-Werte nutzbar. Existiert in Ruby, Perl. Rückgabe: -1 (links kleiner), 0 (gleich), 1 (links größer).

5. Generator Return Expression und Generator Delegation

Generator Return Expression: Wert bei erfolgreichem Abschluss zurückgeben. $generator->getReturn() liefert Return-Wert. Wenn Generator noch nicht returned oder uncaught Exception warf, wird Exception geworfen. Kein Return → NULL.

Generator Delegation: Ein weiteres iterierbares Structure (Iterator, Array, Generator) zurückgeben. Iteration der Substruktur durch outermost Loop, nicht rekursiv.

4. Return Type Declarations

Rückgabetyp einer Funktion deklarieren – verhindert unerwartete Return-Werte/Subtypen, die erwarteten Return-Type des Supertypes brechen (besonders in Interfaces). PHP 7 bringt 4 neue Scalar-Type-Declarations: string, int, float, bool. Erlaubt Erwartung von Integer, Float, String, Boolean als Return.

3. Abstract Syntax Tree (AST)

Größte und unsichtbarste Änderung: AST als Intermediate Representation während Kompilierung. Ersetzt direktes Emittieren von Opcodes aus Parser. Entfernt Hacks, macht Implementation verständlicher, wartbarer. Ermöglicht Syntax, die mit Single-Pass-Compilation nicht machbar war.

2. Die brandneue Zend Engine

Erste Zend Engine 1999 in PHP 4. Open-Source-Scripting-Engine (C), interpretiert PHP. Aktuelle Version nutzt Zend Engine II (Memory/Resource Management, erweiterbares Objektmodell, signifikante Performance-Gains). Zend Engine III (Codename phpng) für PHP 7 in Entwicklung.

1. Performance + Memory Saving

Hauptgrund für Upgrade: Performance. Besonders für kleinere Hoster gut – mehr Kunden auf gleicher Hardware. Performance auf Augenhöhe mit Facebook HHVM (JIT-Compiler). Substanzielles Memory Saving durch Optimierung interner Datenstrukturen.

Zend-Grafik: WordPress Request auf PHP 5.6 = ~100M CPU-Instructions; PHP 7 = ~25M für denselben Job. 3x Magento-Transaktionen auf gleicher Hardware. Drupal 8 läuft 72 % schneller mit PHP 7.

Empfohlen: 30 geniale PHP Libraries für Programmierer und Entwickler

Industrietechnik

  1. Wie Personalentwicklung Produktqualität steigert und Umsatzwachstum antreibt
  2. Metallbearbeitungseffizienz steigern mit M.A. Fords TuffCut XT Schaftfräsern
  3. Einzelhändler müssen sich anpassen: Den Wandel im Online- und In-Store-Shopping navigieren
  4. Laserschneiden: Die ideale Wahl für die Blechbearbeitung
  5. CD4060 IC: Umfassender Leitfaden zu Betrieb, Anwendungen & Schaltungsdesign
  6. Die richtige Wartungsstrategie wählen: Präventiv vs. Predictive
  7. Die Entwicklung des Schweißens: Von antiken Ursprüngen zur modernen Innovation
  8. Top 4 Branchen, die durch Machine Learning revolutioniert werden
  9. Flexible Flat Cables (FFC): Leichtgewichtige High-Performance-Konnektivität für kompakte Designs
  10. Shannon Fitch vorgestellt: DVIRCs neue Strategic Accounts Director