Tag-Archive for » PHP 7 «

Vorbereiten auf PHP 7

Im August dieses Jahres endet der aktive Support für PHP 5. Danach gibt es noch ein Jahr länger Patches gegen Sicherheitslücken geben, aber so langsam müssen sich Entwickler und Anwender darauf einstellen, ihre PHP-Programme rechtzeitig auf die neue Version PHP 7 zu migrieren.

Durch diese klaren Festlegungen zur Support-Dauer wollen die Entwickler einen Fehler wie beim Erscheinen von PHP 5 vermeiden. Damals hatten sie nämlich kein eindeutiges Ende für die Vorversion PHP 4 vorgegeben, die deshalb noch recht lange gewartet werden musste.

Das PHP-Projekt hat PHP 7 genutzt, um viele zuvor als „deprecated“ abgekündigte Altlasten aus PHP herauszunehmen und die teilweise inkonsistente und undokumentierte Semantik aufzuräumen. Unter anderem zur sauberen Implementierung eines abstrakten Syntaxbaums überarbeiteten die Entwickler die Syntax von PHP 7 bezüglich der Verwendung von Variablen.

PHP-Programmierer müssen aber nicht nur auf Altes verzichten – sie bekommen mit PHP 7 auch viele neue Features, die die Arbeit mit der Skriptsprache sicherer und komfortabler machen.

Kein Support mehr für PHP 5

Am heutigen 1. Januar 2017 hat PHP 5.6 als letzte 5er-Version der beliebten Script-Sprache das Ende seiner aktiven Supportphase erreicht: Die aktuelle Version PHP 5.6.30 wird das letzte reguläre PHP-5-Release sein, das herausgekommen ist. Danach gibt es nur noch das neueste Haupt-Release PHP 7 bzw. PHP 7.1.

An PHP 5 wird auch ab sofort nicht mehr weiter entwickelt. Allerdings versprechen die Entwickler, kritische Sicherheitslücken in PHP 5.6 noch bis Ende 2019 zu stopfen – aber spätestens zu diesem Zeitpunkt sollte man auf eine 7er-Version der Scriptsprache aufgestiegen sein.

Die Web-Statistiker von W3tech fanden PHP 7 bisher nur auf 2,5% der untersuchten Internetseiten, die PHP nutzen. PHP 5.6 wird auf 21% der PHP-Sites eingesetzt, der Rest verteilt sich auf ältere, nicht mehr gepflegte PHP-Versionen. Nach Angaben von W3tech nutzen über 80% der 10 Millionen populärsten Websites PHP.

Etwas freundlicher kommt die Statistik von packagist.org, dem Standard-Repository des PHP-Package-Managers Composeherüber: Hier kamen PHP 7.0 und 7.1 im November 2016 zusammen zumindest auf gut 36% der Zugriffe und PHP 5.6 auf 37%. Aber leider erfolgen auch bei packagist.org ein Viertel aller Zugriffe mit veralteten und nicht mehr supporteten PHP-Versionen.

Netbeans 8.2 unterstützt ECMAScript 6/7 und PHP 7

netbeansGute Nachricht für Entwickler: Gerade ist die Open-Source-Entwicklungsumgebung (IDE) NetBeans in Version 8.2 freigegeben worden. In der neuen Version unterstützt NetBeans 8.2 jetzt mit ECMAScript 6 und PHP 7 die zurzeit aktuellen Ausgaben dieser beiden Skriptsprachen.

Mit dem erst noch kommenden ECMAScript 7 können Entwickler zumindest schon einmal auf experimenteller Basis arbeiten. Darüber hinaus wird von einer besseren Unterstützung des serverseitigen JavaScript-Frameworks Node.js und von Oracle JET (JavaScript Extension Toolkit) geredet.

Mit der IDE NetBeans 8.2 können Entwickler auch mit Docker-Containern kommunizieren. Zugriff und die Verwaltung von Container-Images sind direkt aus der IDE heraus möglich. Außerdem ist ein Profiling-Modus für SQL-Abfrage in die IDE gekommen. Auch bei der Unterstützung von C/C++ gibt es neue Erweiterungen.

Zend Server beherrscht jetzt PHP 7

Nach der Übernahme von Zend im Oktober 2015 hat Rogue Wave jetzt das erste große Zend Server Release bekannt gegeben.

Die Version 9 des Applikationsservers kann mit dem im Dezember 2015 veröffentlichten PHP 7 umgehen, was die Anwendungen merklich schneller machen soll.

Weitere Neuerungen sind Möglichkeiten zum Code Tracing und Black Box Recording, die bei der Entwicklung und im Betrieb helfen können, Fehlerquellen schneller zu finden.

Mit diesem Update stellt Rogue Wave außerdem Zend Server Professional Plus und Zend Server Enterprise Edition vor. Abonnenten dieser beiden Dienste können sich nicht nur bei Fragen zu Zend Server selbst an den Support des Unternehmens wenden, sondern sie haben auch Zugriff auf Experten zu weiteren Themen wie beispielsweise CentOS, Apache, MySQL und PHP.

Damit will Rogue Wave Hilfe beim Umgang mit dem Open-Source-Stack unter auf Zend Server gehosteten PHP-Anwendungen bieten.

Rogue Wave hat PHP-Company Zend übernommen

PHP_RogueWave_ZendDas Softwarehaus Rogue Wave hat soeben den PHP-Spezialisten Zend Technologies übernommen.

Mit dieser Übernahme von PHP-Knowhow erweitert Rogue Wave sein Portfolio vor allem in die Bereiche Web und Mobile. Zend Technologies gehört zu den bekanntesten Unternehmen, wenn es um die beliebteste Scriptsprache im Internet PHP geht – das Unternehmen ist selbst an der PHP-Entwicklung beteiligt.

Der komerzielle Fokus der Firma Rogue Wave liegt mehr im Bereich High Performance Computing mit Entwicklerwerkzeugen für C, C++, Java und C#.

Zend-CEO Andi Gutmans, verspricht sich für den PHP-Protagonisten Zend Technologies eine breitere Kundenbasis im Enterprise-Segment. In seinem Blog-Beitrag auf LinkedIn unterstreicht er auch, dass der Zusammenschluss keine Abwendung von der Open-Source-Strategie bedeute, sondern dass er weiterhin zu PHP, dem Zend Framework und Eclipse PDT (PHP Development Tools) stehe. Seine Firma arbeite sehr hart an der Qualität von PHP 7, das Mitte November released werden soll, und der darauf folgenden Zend Engine.

Zu den finanziellen und sonstigen Details der Übernahme haben sich die Beteiligten bisher nicht geäußert.

Zend Studio 13 kommt mit PHP7-Unterstützung

Bisher ist PHP 7 nur in Form eines Release Candidate zu haben. Wer jetzt schon damit anfangen möchte, seine Programme auf die zu Mitte November 2015 angekündigte neue Version der beliebten Internet-Skriptsprache umzustellen, findet im soeben veröffentlichten  Zend Studio 13 einige Hilfen dazu.

Die neueste Version der Integrierten Entwicklungsumgebung (IDE) der maßgeblich an der PHP-Entwicklung beteiligten Firma Zend Technologies kann nach der Aktualisierung dann mit neuen Sprachelementen wie beispielsweise anonymen Klassen und dem sogenannten Spaceship-Operator (<==>) umgehen.

Darüber hinaus enthält die IDE mit PHP 7 Express auch noch ein Tool zur Migration: Es untersucht die vorhandenen Projekte auf mögliche Kompatibilitätsprobleme, weist dann mit Angabe der Programmzeile darauf hin und schlägt sogar passende Korrekturmöglichkeiten vor.

Die erste Alpha von PHP 7

Gute Nachricht für Webentwickler: Das neue Major-Release der beliebtesten Programmiersprache im Internet kann als PHP 7 (Alphaversion) heruntergeladen werden.

Verglichen mit dem aktuellen Release PHP 5.6 ist PHP 7 deutlich schneller, nach der Ankündigung sogar bis zu doppelt so schnell geworden. Es ist durchgängig 64-Bit-fähig und neue Operatoren wie Null Coalescing (??) und Combined Comparison(<=>) erlauben es, komplexe Algorithmen wesentlich kompakter zu schreiben.

Die Release Notes informieren über alle neuen Features und behobene Bugs. Im Upgrading File werden auch die neuen Möglichkeiten und die Änderungen im Verhalten bestimmter Funktionen und Objekte erläutert. In zwei Wochen soll schon eine zweite Alpha-Version von PHP 7 herausgegeben werden.

PHP 7 kann skalare Typen deklarieren

phpmarginDie meistdiskutierte Funktion von PHP 7 ist sicher die Deklaration skalarer Typen. Bei einer gestern Abend durchgeführten Abstimmung erreichte die inzwischen fünfte Version des Vorschlags jetzt die nötige Zweidrittelmehrheit der beteiligten Entwickler. Also wird PHP 7 jetzt um die Typen Int, Float, String und Bool erweitert.

Allerdings muss die Verwendung einer strengen Überprüfung dieser Typen von den Nutzern explizit in jeder Datei über die Anweisung declare(strict_types=1) erzwungen werden. Das muss die erste Direktive in einer Programmdatei stehen und führt an anderen Stellen zu einer Fehlermeldung. Ohne diese Codezeile wird standardmäßig nur eine schwache Typenüberprüfung durchgeführt.

Wenn die neue Anweisung genutzt wird, müssen alle Funktionsaufrufe und Rückgabewerte in der Datei selbst und in darauf aufbauenden Erweiterungen und eingebaute PHP-Funktionen beim Parsen einer Typprüfung standhalten, sonst wird auch ein Fehler ausgegeben.

Im Gegensatz zu der schwachen Überprüfung, bei der die Werte noch in andere Typen umgewandelt werden können, gibt es unter der starken Überprüfung nur eine einzige erlaubte Umwandlung, nämlich die von Int zu Float.

PHP 7: Ausstieg einer Entwicklerin und die Folgen

phpmarginPer E-Mail mit dem Betreff „I quit – Ich höre auf“ hat Andrea Faulds ihren Rückzug aus der Entwicklung von PHP ankündigt.

In den letzten zwei Jahren hat Faulds an einigen grundlegenden Arbeiten an der nächsten Hauptversion der Programmiersprache mitgearbeitet und umfassende Änderungen für das kommende PHP 7 vorgeschlagen, deren Weiterentwicklung jetzt durch ihren Ausstieg ungewiss ist.

Das betrifft besonders das geplante und kontrovers diskutierte skalare Typensystem in PHP 7. Damit würde die Sprache um die Typen int, float, string und bool erweitert – und auch um eine strikte Überprüfung dieser Typen pro Datei, falls man das wünscht.

Faulds ist bisher auch für den Drei-Wege-Vergleichsoperator, den Void-Rückgabewert sowie die Unterstützung für sogenannte Big-Ints verantwortlich gewesen. Lassen wir uns überraschen, welche der Neuerungen den Weg in PHP 7 noch schaffen…

Die Version 5.3 der beliebten Scriptsprache PHP ist am Ende

phpmarginPHP 5.3 ist inzwischen fünf Jahre alt und hat nun sein “End of Life” erreicht. Für den 5.3er Zweig soll es nach dem letzte Woche ausgelieferten 5.3.29 keine weiteren Updates mehr geben.

Spätestens jetzt sollte man von dieser Version der beliebten Skriptsprache auf ein aktuelleres PHP wie 5.4 oder 5.5 oder das in Kürze erscheinende 5.6 wechseln.

PHP 5.3 kam im Jahr 2009 heraus und war seinerzeit ein Meilenstein. Die 5.3er Version brachte Namespaces, späte Bindung, einen neuen Garbage Collector und ein eigenes MySQL-Client-Protokoll.

Für das Update eines Softwaresystems auf PHP 5.4 gibt es schon längere Zeit eine Anleitung, ebenso für den Wechsel von PHP 5.4 auf PHP 5.5, die heute noch aktuelle Sprachversion.

Nachfolger der Hauptversion PHP 5 wird übrigens aus einer ziemlich verrückten Entscheidung heraus nicht  PHP 6, sondern PHP 7.