PHP 8 kurz vor der Veröffentlichung

PHP 8 wird voraussichtlich am 26. November veröffentlicht werden und bringt viele mächtige Funktionen und deutliche Sprachverbesserungen. Neben dem Just-in-time-Compiler, der nativen Code direkt aus dem PHP-Bytecode erzeugt, sorgen auch die Op-Cache-Erweiterung und das Vorladen für deutliche Geschwindigkeitsverbesserungen. Der OPcache verbessert die PHP-Leistung, indem vorkompilierter Skript-Bytecode im Shared Memory gespeichert wird, wodurch PHP nicht mehr bei jeder Anfrage Skripte nachladen und parsen muss. OPcache wurde inzwischen mit der Einführung des Vorladens verbessert, der neuen OPcache-Funktion, die mit PHP 7.4 eingeführt wurde. Das Vorladen bietet eine Möglichkeit, einen bestimmten Satz von Skripten im OPcache-Speicher zu speichern, „bevor irgendein Anwendungscode ausgeführt wird“, allerdings bringt es keine merkliche Leistungssteigerung für typische webbasierte Anwendungen. Hinzu kommen noch folgende neu Funktionen und Verbesserungen: Validierung für abstrakte Eigenschaftsmethoden Constructor Property Promotion Inkompatible Methodensignaturen Arrays, die mit einem negativen Index beginnen Union Types 2.0 Konsistente Typ-Fehler für interne Funktionen throw Expression Weak Maps Nachkomma in Parameterlisten ::class syntax bei Objects Attributes v2

2020-11-05T12:10:46+02:00November 5th, 2020|PHP|Kommentare deaktiviert für PHP 8 kurz vor der Veröffentlichung

MD5-Passwörter mit PHP erzeugen

Noch immer findet man sehr einfache Schutzmechanismen, die mit Klartext-Passwörtern arbeiten, welche im Quellcode der entsprechenden Routinen abgespeichert sind. Jeder, der Zugriff auf diese Routinen hat, kann solche Passwörter problemlos auslesen und dann missbrauchen. Die Sicherheit bei der Speicherung solcher Passwörter lässt sich mit einem MD5-Hash zwar nicht perfektionieren, aber doch recht deutlich verbessern. Und das lässt sich auch schon recht einfach mit PHP-Bordmitteln realisieren: <?PHP //Eine Zufallszahl zwischen 1000 und 9999 erzeugen $zzahl = mt_rand(1000, 9999); // MD5-Hash aus Zufallszahl und aktueller Zeit bilden $zahlzeit = md5($zzahl.microtime()); $passwort = substr($zahlzeit, "0" ,"8");  //Die Zahl 8 definiert dabei die Länge des Passworts echo $passwort;?> Dieser Codeschnipsel erzeugt ein 8-stelliges (maximal 32-stelliges) Passwort aus Buchstaben und Zahlen. Man muss hier darauf hinweisen, dass sich nicht alle Anforderungen an ein sicheres Passwort mit MD5 erfüllen lassen. Es ist zum Beispiel lange bekannt, dass voneinander verschiedene Zeichenfolgen durchaus denselben Hashwert liefern könnten. Ein MD5-Hash ist aber schon deutlich sicherer als die Speicherung eines Passwortes innerhalb der Routine im Klartext!

2020-10-05T09:28:50+02:00Oktober 5th, 2020|Allgemein, PHP, Sicherheit|Kommentare deaktiviert für MD5-Passwörter mit PHP erzeugen

Weiterleitungen mit PHP

Beim Erstellen von Internetseiten mit der beliebten Scriptsprache PHP kommt es gelegentlich vor, dass man eine Weiterleitung (Redirect) auf eine andere Internetseite benötigt. Der Standard-Code für für die Implementierung eines Redirects aus einer PHP-Datei kann relativ einfach erzeugt werden: header("Location: http://www.domain.de/neue-seite.php", true, 301); exit(); Der Code „301“ steht dabei für einen permanenten Redirect, für einen temporären gibt es den Code „302“. Dabei gibt es zwar keine Unterschiede beim Aufruf, sehr wohl aber bei der Beurteilung durch die Suchmaschinen und damit auch in der Position bei den Ergebnislisten einer Suche. Bei solchen Weiterleitungen sollte man beachten, dass es Probleme geben kann, wenn man versucht, diese Weiterleitung aus einer HTML-Datei heraus durchzuführen. In solchen Fällen muss die Extension (.html oder .htm) in der Datei .htaccess or httpd.conf erst bekannt gemacht werden, was man mit folgender Codezeile in diesen Dateien erreichen kann: Addtype application/x-httpd-php .htm .html

2020-09-17T09:48:08+02:00September 17th, 2020|Coding, HTML, PHP|Kommentare deaktiviert für Weiterleitungen mit PHP

PHP 8 Feature Freeze und Beta 1

PHP zählt immer noch zu den meistgenutzten Programmiersprachen im Internet. Die Fertigstellung der neuen Hauptversion 8 steht kurz bevor. Das Entwicklerteam von PHP 8 hat die neuen Features der kommenden Major-Version inzwischen festgelegt. Mit einem Feature Freeze und der Veröffentlichung der ersten Beta zu PHP 8 stehen die neuen Funktionen der achten Hauptversion der Programmiersprache PHP jetzt fest. Das Entwicklerteam liegt dabei gut im Zeitplan. PHP 8 Beta 1 beseitigt ein paar Bugs im Kern und bei Komponenten wie beispielsweise dem JIT-Compiler. Der neue JIT-Compiler Eine der größeren Neuerungen in PHP 8 ist der Just-in-Time-Compiler(JIT)-Compiler. JIT ist eine Compilerstrategie, die aus dem Quellcode einen Zwischencode ableitet und den dann zur Laufzeit in architekturabhängigen Maschinencode umwandelt, und das dann "just in time" direkt über die CPU und nicht mehr über die Zend Virtual Machine, was die Ausführung der PHP-Programme erheblich beschleunigt. An der JIT-Unterstützung für PHP wird schon seit längerer Zeit in einem separaten Entwicklungszweig gearbeitet. Mit der ersten Beta werden ein paar Probleme des JIT-Compilers behoben. Support für JSON Zu den großen Neuerungen zählt aber auch die JSON-Unterstützung als Kernstück. Sie wurde schon in der ersten Alpha-Version standardmäßig aktiviert. In einem Request of Comments (RFC) hatten die PHP-Entwickler eindeutig dafür gestimmt, weil die JSON-Dateien weit verbreitet [...]

2020-08-07T11:54:41+02:00August 7th, 2020|Coding, PHP, Webwerkzeuge|Kommentare deaktiviert für PHP 8 Feature Freeze und Beta 1

IDE PhpStorm 2020.1 kommt mit PHPUnit-Toolbox

JetBrains überarbeitet seine Entwicklungsumgebungen: Nach IntelliJ IDEA, WebStorm, GoLand und PyCharm erschien jetzt PhpStorm in Version 2020.1. Im aktuellen Release sollen sich Abhängigkeiten leichter verwalten, weil die Entwickler sie direkt in der composer.json-Datei im Editor durchführen können. Der bisherige Umweg über das Dependency-Managements muss also nicht mehr sein. Entweder über das Kontextmenü oder das Tastenkürzel Strg+N können sie jetzt eine neue composer.json-Datei erstellen. Dabei hebt die IDE noch nicht installierte Abhängigkeiten deutlich hervor, so dass die Programmierer das fehlende Package über das Tastenkürzel Alt+Enter direkt aktualisieren können, wie das Artikelbild aus dem Blogbeitrag zum Release verdeutlicht. PhpUnit 9 erschien im Februar 2020 . Schon mit der Veröffentlichung galten viele der Funktionen als veraltet und/oder wurden entfernt. JetBrains reagiert nun auf diese Neuerungen und passt die IDE mit PhpStorm 2020.1 daran an. Entwickler können dabei auch die Hervorhebung von Deprecations im Editor benutzen, um auf die neueste Version des Unit-Testing-Frameworks upzugraden. Dabei zeigt die Tastenkombination Alt+Enter  eine Liste an Vorschlägen für Quick-Fixes an. Außerdem hat JetBrains die Typinferenz-Engine aktualisiert. Mehr Informationen zu PhpStorm 2020.1 finden Sie in den Release Notes. Die aktuelle Version der IDE steht 30 Tage kostenlos zum Testen bereit. PhpStorm 2020.1 lässt sich über die offizielle Webseite oder über die Toolbox App herunterladen.

2020-04-15T17:08:27+02:00April 15th, 2020|Coding, PHP, Webwerkzeuge|Kommentare deaktiviert für IDE PhpStorm 2020.1 kommt mit PHPUnit-Toolbox

Quartals-Upgrade Eclipse 2020-03 veröffentlicht

Die freie Desktop-Entwicklungsumgebung (IDE) Eclipse wurde soeben in Version 2020-03 für die Betriebssysteme Windows, Linux und macOS veröffentlicht. Angeboten wird das Programm für Entwickler in 13 verschiedenen Paketen für die unterschiedlichen Einsatzzwecke und verschiedene unterstützte Programmiersprachen wie beispielsweise für Java, C/C++, JavaScript, PHP und Rust. Neu im März-Quartalsrelease der IDE sind die Unterstützung für Java 14 zum Nachinstallieren, mehr Möglichkeiten für die Webentwicklung und eine offenbar bessere Codevervollständigung und Codeanalyse in der Java-IDE. Eclipse 2020-03 kommt per Upgrade oder per Download Mehr Details finden Sie auf der Webseite des neuen Release, darunter auch eine Liste mit Links zu den jeweiligen Neuerungen der an der Ausgabe beteiligten Eclipse-Projekte. Das jetzt nicht mehr aktuelle Eclipse 2019-12 informiert den Benutzer automatisch, dass eine neue Version vorhanden ist, und bietet auch das Upgrade an, aber auch ältere Versionen kann man auf Eclipse 2020-03 aktualisieren. Die neuen Pakete der DIE können Entwickler entweder per Eclipse Installer einrichten oder als einzelnes IDE-Paket direkt downloaden.

2020-03-19T09:12:21+02:00März 19th, 2020|Coding, Javascript, PHP, Webwerkzeuge|Kommentare deaktiviert für Quartals-Upgrade Eclipse 2020-03 veröffentlicht

KDevelop 5.5 unterstützt PHP 7.4 und Python 3.8

Die Open-Source-Entwicklungsumgebung (IDE) KDevelop ist soeben in der Version 5.5 erschienen. Bei dem aktuellen Release haben sich die Entwickler stark auf die Stabilität und die Performance der ursprünglich von der Uni Potsdam gekommenen IDE konzentriert und auf neue Features weitgehend verzichtet. Einige Ergänzungen gibt es aber bei der Anbindung der Programmiersprachen C++, PHP und Python. Auch die Benutzer-Oberfläche hat ein wenig Feinschliff bekommen. Unterstützung von Programmiersprachen Mit der Version 5.5 bringt KDevelop einige Ergänzungen für die aktuellsten Versionen von PHP und Python mit. Es kennt jetzt zum Beispiel die in PHP 7.4 eingeführten Typed Properties 2.0, mit denen die Nutzer Typen für Klassen-Eigenschaften festlegen können, um Boilerplate-Code in Form von Getter- und Setter-Methoden zu reduzieren. Bei Python 3.8 geht es mehr um eine erste Unterstützung des Release Das Python-Plug-in kdev-python gestattet den Build für und auch die Ausführung mit CPython 3.8 und kann den Code auch korrekt parsen. Bei C++ sind überwiegend Bugfixes gemacht worden, darunter auch der behobene Absturz, wenn Signaturen in AdaptSignatureAssistant nicht zusammenpassen, Überarbeitungen bei der Autovervollständigung und die Anbindung an clazy und clang-tidy. Mehr Details zu KDevelop 5.5 finden Sie in der offiziellen Ankündigung von KDevelop 5.5. Der Quellcode und die Binaries für Linux sind unter GPL-Lizenz auf der die Download-Seite verfügbar. Für Windows [...]

2020-02-03T12:04:12+02:00Februar 3rd, 2020|Coding, PHP, Webwerkzeuge|Kommentare deaktiviert für KDevelop 5.5 unterstützt PHP 7.4 und Python 3.8

IDE Eclipse in neuer Version 2019-12 erschienen

Die Entwickler haben soeben die quelloffene Desktop-IDE Eclipse in ihrer neuesten Version 2019-12 veröffentlicht. Programmentwickler können sie als IDE-Pakete für mehrere Programmiersprachen wie Java, C/C++, JavaScript, PHP und Rust jetzt herunterladen. Die Highlights der neuen Eclipse-Version Mit Eclipse 2019-12 können sich Entwickler in textbasierten Editoren jetzt Fehlermeldungen und Warnhinweise auch zwischen den Zeilen eingeschoben anzeigen lassen. Die neue Version der Java-Entwicklungsumgebung unterstützt jetzt auch Java 13 und besitzt im Java-Editor eine optionale Postfix Completion. Es gibt auch Geschwindigkeitsverbesserungen bei der Versionsverwaltung Git, was man besonders bei großen Git-Repositorys recht deutlich bemerkt. Der Upgrade auf Eclipse 2019-12 Weitere Details finden Sie auf der Webseite zum Eclipse-2019-12-Release – dabei auch eine Liste mit Links zu den entsprechenden Neuerungen der am Release beteiligten Eclipse-Projekte. Um Ihre vorhandene Eclipse-IDE auf Version 2019-12 upzugraden, müssen Sie in Window / Preferences: Install+Update / Available Update Sites bei "Latest Eclipse Release" einen Haken setzen und dann Help / Check for Updates ausführen. In der aktuellen Version ist diese Option dann auch standardmäßig aktiviert, so dass dieser Schritt bei Neuinstallationen in Zukunft unnötig wird. Die IDE-Pakete von Eclipse 2019-12 können Sie entweder per Eclipse Installer installieren oder sie als ein einzelne IDE-Pakete direkt herunterladen .

2019-12-19T12:01:21+02:00Dezember 19th, 2019|Coding, Javascript, PHP, Webwerkzeuge|Kommentare deaktiviert für IDE Eclipse in neuer Version 2019-12 erschienen

Heute erscheint PHP 7.4

Es klingt nicht besonders spannend, aber das letzte Minor-Release der 7er Serie der weltweit meistverbreiteten Scriptsprache hat es in sich. Als wichtigste Neuerung gilt die Option, jetzt auch den Typ von Klassenvariablen deklarieren zu können, was eine der letzten großen Lücken in Sachen Typsicherheit schließt. Aber auch das OPcache Preloading, das das seit PHP 5.0 bekannte Autoloading ablösen könnte, dürfte sich je nach Szenario recht positiv auf die Performance von Anwendungen unter PHP 7.4 auswirken. Auf dem Weg zu PHP 8.0 Mit der Version 7.4 ist das Ende des 7er-Release-Zweigs jetzt abgeschlossen, was den Weg für die neue Hauptversion PHP 8.0 frei gemacht hat. Anwender sollten ein Upgrade auf PHP 7.4 durchführen und sich ein Jahr Zeit lassen, um alle Warnungen und neuen Hinweise zu bearbeiten, bevor die neue Hauptversiom PHP 8.0 herauskommt. Mit PHP 8.0 kommt dann auch der schon angekündigte Just-inTime(JIT)-Compiler, der einen weiteren, deutlichen Performance-Schub bringen dürfte.

2019-11-28T17:13:12+02:00November 28th, 2019|PHP, Webwerkzeuge|Kommentare deaktiviert für Heute erscheint PHP 7.4

PHP 8.0 kommt mit Just-In-Time-Compiler

Es klappt zwar noch nicht in der nächsten Version 7.4 der Skriptsprache PHP, dass sie einen JIT-Compiler (Just-in-time) bekommt, dann aber doch in der nächsten Hauptversion PHP 8. In der Diskussionen war die Beschleunigung der Standard-Programmiersprache durch einen JIT-Compiler ja schon längere Zeit, aber jetzt hat das Vorhaben auch einen offiziellen Status, weil die zentralen PHP-Entwickler beschlossen haben, dass die aktuell noch experimentellen JIT-Features dann in PHP 8 freigegeben werden sollen. Funktion eines JIT-Compilers Bei der Compilerstrategie Just-in-Time wird ein Zwischencode abgeleitet und dann zur Laufzeit in architekturabhängigen Maschinencode übersetzt, und das dann "just in time" direkt über die CPU und nicht mehr über die Zend Virtual Machine. In einem separaten Entwicklungszweig wird schon seit einiger Zeit an der JIT-Unterstützung für PHP gearbeitet. Dafür zeichnen besonders die Mitarbeiter der mittlerweile von Rogue Wave übernommen Firma Zend verantwortlich. Schon die letzten PHP-Releases, auch das im Spätherbst 2018 erschienene PHP 7.3, hatten auch eine bessere Performance von PHP zur Laufzeit zum Ziel. Mit der JIT-Unterstützung hat die Skriptsprache offenbar das Potenzial, besonders bei CPU-nahem Code die Ablaufgeschwindigkeit von PHP-Programmen noch einmal merklich zu erhöhen. Es braucht noch mehr als 2 Jahre Bis der JIT-Compiler aber wirklich ein offizielles Feature von PHP wird, kann es allerdings noch dauern. Aktuell [...]

2019-04-01T10:28:33+02:00April 1st, 2019|Coding, PHP, Webwerkzeuge|Kommentare deaktiviert für PHP 8.0 kommt mit Just-In-Time-Compiler
Nach oben