PHP 7 – Warum Sie jetzt updaten sollten

05.02.2016 | von Susanne

PHP7

Bereits seit Anfang des Jahres steht PHP 7 – die neueste Version der beliebten Skriptsprache – allen EUserv Webspace-Tarifen mit PHP-Unterstützung zur Verfügung. Damit hat die von den meisten Webseitenbetreibern genutzte Version PHP 5.x nach 11 langen Jahren einen würdigen Nachfolger gefunden. Mit diesem Release ist die Skriptsprache nun vor allem schneller (PHP 7 ist etwa doppelt so schnell wie PHP 5.6 und 14mal schneller als PHP 5.0) und gleichzeitig sparsamer im Speicherverbrauch.

Dieser deutlich spürbare Geschwindigkeitsgewinn ist sicher das Hauptargument, um die eigenen Webprojekte sobald wie möglich auf PHP 7 umzustellen. Darüber hinaus liefern jedoch einige weitere neue Funktionen und Änderungen gute Gründe für ein Update:

#1 – Skalare Typendeklarationen

Bei den Parametern von Funktionen/Methoden kann mit dem erweiterten Type-Hinting «Scalar type declarations» in PHP 7 angegeben werden, dass man einen Integer, einen Float, einen String oder einen Booleschen Wert erwartet. In PHP 5-Versionen war das bisher nur für Objekte und Arrays möglich.

Beispiel:

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
return array_sum($ints);
}

var_dump(sumOfInts(2, '3', 4.1));

 

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(9)



#2 – Typ des Rückgabewertes deklarieren

Bei der Deklaration von Funktionen/Methoden oder Closures mit dem erweiterten Type-Hinting «Return type declarations» können Sie die Art des Rückgabewerts bestimmen. Um die automatische Typumwandlung zu verhindern, wechseln Sie in den Strict-Modus.

Beispiel:

<?php

function arraysSum(array ...$arrays): array
{
return array_map(function(array $array): int {
return array_sum($array);
}, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

 

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => 6
    [1] => 15
    [2] => 24
)

 

#3 – Änderungen im Error-Handling (Fehler und Exceptions)

Diese, auf den ersten Blick unspektakuläre Änderung hat es in sich: Alle fatalen Fehler aus früheren PHP-Versionen, wie beispielsweise der ehemals fatale Fehler “Call to a member function ?() on a non object”, sind in PHP 7 Exceptions und werden nun abgefangen, ohne für einen sofortigen Programmabbruch zu sorgen. Dazu zählen auch Laufzeitfehler, die in PHP 7 über das neue Interface Throwable oder die Basisklasse Error abgefangen werden können.

 

 

#4 – Neue Operatoren

Mit PHP 7 halten die zwei neuen Operatoren Einzug. Bereits in früheren PHP-Versionen wurde der Ternary-Operator (shorthand ternary) „?“ eingeführt der den Wert auf der linken Seite zurück gibt, wenn er PHPs Interpretation von wahr entspricht, ansonsten den Wert auf der rechten Seite.

Häufig bedarf es in PHP aber eines Operators, der überprüft, ob der Wert auf der linken überhaupt gesetzt ist, ohne dabei einen Fehler auszulösen. Dafür wurde nun der „Null coalescing operator” „??“ eingeführt, der den Wert auf der linken Seite zurückgibt, wenn er gesetzt ist und sonst den Wert auf der rechten Seite des Operators.

Beispiel:

<?php
// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// Coalescing can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.

$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
?>

 

Neu hinzu kommt außerdem der sogenannte “Spaceship Operator” <=>, der die Erstellung von Vergleichsfunktionen vereinfacht. Der Operator gibt -1 zurück, wenn der linke Wert kleiner ist als der rechte, 0 wenn beide gleich sind und sonst +1. Damit lassen sich Daten sehr einfach mittels der existierenden Sortierfunktionen vergleichen.

Beispiel:

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

 

#5 – Neuerungen bei den Generatoren

Zwei Neuerungen betreffen die in PHP 5.5 eingeführten Generatoren: Sie können nun innerhalb eines Generators einen Rückgabewert (“return”) zurückgeben lassen und außerdem Operationen an einen anderen Generator o. Ä. mit “yield from” delegieren.

Beispiel “return”:

<?php

$gen = (function() {
yield 1;
yield 2;

return 3;
})();

foreach ($gen as $val) {
echo $val, PHP_EOL;
}

echo $gen->getReturn(), PHP_EOL;

 

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1
2
3

 

Beispiel “yield from”:

<?php
function gen()
{
yield 1;
yield 2;
yield from gen2();
}

function gen2()
{
yield 3;
yield 4;
}

foreach (gen() as $val)
{
echo $val, PHP_EOL;

}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
1
2
3
4

 

#6 – Weitere Funktionen und Veränderungen

Zusätzlich zu den genannten Features gibt es viele weitere Änderungen, wie zum Beipsiel Unterstützung für Unicode mit UTF-8, Vereinheitlichungen im Variablen-Handling, 64bit-Unterstützung für Windows und die Nutzung anonymer Klassen.

 

Beispiel anonyme Klassen:

 

<?php
interface Logger {
public function log(string $msg);
}

class Application {
private $logger;

public function getLogger(): Logger {
return $this->logger;
}

public function setLogger(Logger $logger) {
$this->logger = $logger;
}
}

$app = new Application;
$app->setLogger(new class implements Logger {
public function log(string $msg) {
echo $msg;
}
});

var_dump($app->getLogger());
?>

 

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

object(class@anonymous)#2 (0) {
}

Fazit

Weil sich das prinzipielle Verhalten der Sprache PHP kaum geändert hat, laufen die meisten Anwendungen wie WordPress und Drupal ohne Änderungen unter PHP 7. Die notwendigen Anpassungen bei Anwendungen, die vorher schon mit aktuellen PHP-Versionen lauffähig waren, halten sich in Grenzen. Lediglich bei „Altlasten“ wie ASP tags (<%) und Script-Tags (<script language=php>) und bereits als „deprecated“ markierten Extensions und Funktionen wie ext/mysql und ext/ereg ist Handlungsbedarf notwendig, da diese in PHP 7 nicht länger unterstützt werden.

Wer also seinen Code jetzt auf PHP 7 vorbereitet, beispielsweise also von mysql_*-Funktionen befreit, profitiert von einem stressfreien Umstieg spätestens zum Ende diesen Jahres.

DENN: PHP 5.6 wird das letzte Release von PHP 5 bleiben und nur noch bis zum 28. August 2016 unterstützt bzw. bis zum 28. August 2017 mit Sicherheitsupdates versehen. Demzufolge sollten alle Anwendungsentwickler im Laufe des Jahres 2016 sicherstellen, dass ihre Software auf PHP 7 läuft, zumal sich durch ein einfaches Upgrade auf PHP 7 die Performance der eigenen Anwendungen deutlich steigern und die CPU- und Speicherauslastung auf den Servern senken lässt.

Die Umstellung der PHP-Version kann für den gesamten bei EUserv gehosteten Webspace global im EUserv Kundencenter mittels “PHP-Konfigurator” vorgenommen werden.

 

EUserv wünscht Happy Coding!

 

 
{lang: 'de'}

Tags: , , , , , , ,



Mehr RAM für die Homepage: PHP Memory Limit

23.06.2014 | von Robby

Derzeit haben folgende Webspace-Tarife das PHP-Feature enthalten:

– Basic Pro
– Active
– Active Pro
– Exclusive
– Exclusive Pro

In den Paketen “Basic Pro” und “Active” waren die Speicher-Ressourcen bisher so eingestellt, dass einige Software unter Umständen nicht oder nur mit Einschränkungen funktioniert.

EUserv erhöht ab sofort die Speicher-Limits (PHP Memory Limit), damit auch auf den kleineren Paketen eine größere Auswahl an Software möglich wird, wie folgt:

– Basic Pro: alt 16 MB, neu 128 MB
– Active: alt 64 MB, neu 128 MB
– Active Pro: alt 128 MB, neu 256 MB
– Exclusive: alt 192 MB, neu 256 MB
– Exclusive Pro: 256 MB (bleibt gleich)

Diese Änderungen erfolgen kostenfrei und sind ab Montag, dem 23.6.2014, aktiv.

{lang: 'de'}

Tags: , ,



Webspace located!

14.05.2012 | von Sandra
In unserem letzten Beitrag berichteten wir über den Webspace eines EUserv Kunden, 
der auf mysteriöse Art und Weise verschwand.

Kurz nach unserem Aufruf erhielten unsere Techniker den entscheidenden Hinweis. 
Das Rätsel um den verschollenen Webspace konnte gelöst werden!

Der Kunde selbst hatte den Webspace verschwinden lassen, indem er aus Versehen 
die gespeicherten Dateien löschte.

Als wir dem Kunden telefonisch unsere Ergebnisse mitteilten, fiel es ihm auch auf. Trotz 
dieser Odyssee war ihm eine gewisse Erleichterung anzuhören, da sein Webspace nun 
zumindest wieder "aufgetaucht" war und er nun damit beginnen konnte diesen neu zu 
bestücken. Neben unserem Mitgefühl gilt dem Kunden natürlich auch unsere Freude, 
dass wir bei diesem Problem helfen konnten. :D
{lang: 'de'}

Tags: , , ,



Webspace wanted!

20.04.2012 | von Tony
Ostern ist nun schon über eine Woche vorbei, doch anscheinend sind gewisse Sachen 
immer noch versteckt.

EUserv Fans aufgepasst!!!


Vor einigen Tagen meldete sich einer unserer Kunden beim Support:Hilfe, mein Webspace ist verschwunden!”

Unsere Techniker haben sich bereits auf die abenteuerliche Suche in das World Wide Web begeben. Es wurden bereits Flugblätter verteilt und bei den ‘Anonymen’ nachgefragt.

Bisher hatten wir leider noch keinen Erfolg – der Webspace bleibt verschollen!

Wir bitten um Eure Mithilfe! Wo ist der Webspace unseres Kunden geblieben? :D

{lang: 'de'}

Tags: , ,



Dynamisches DNS – Was genau war das doch gleich?

14.02.2012 | von Stefanie

Du betreibst zu Hause einen eigenen Server, zum Beispiel für FTP, Streaming, Cloud, Web oder andere Dienste, hast aber keine Möglichkeit von extern darauf zuzugreifen?

Dann wird der dynamische DNS Dienst (sog. DynDNS) – ein Feature, das jetzt auch in unseren Domain-, MailDomain- und Webspace-Tarifen enthalten ist – für Dich überaus hilfreich sein.

Wie funktioniert der dynamische DNS Dienst?

* dynamisches DNS = dynamisches Domain Name System

Der dynamische DNS Dienst sorgt dafür, dass Du trotz wechselnder IP-Adresse (idR. durch die 24h-Zwangstrennung bei DSL Anschlüssen verursacht) auf einen Server von überall auf der Welt über einen festgelegten Hostnamen zugreifen kannst.

In bestimmten Intervallen wird durch einen dynamischen DNS Client ein Abgleich der aktuellen IP Adresse mit der gespeicherten dynamischen DNS Adresse durchgeführt und diese damit aktuell gehalten.

Durch diesen Abgleich und der kurzen Speicherzeit des dynamischen Hostnamens im DNS System hat man die Möglichkeit, jederzeit auch von extern auf den eigenen Server zu Hause zuzugreifen.

Um den dynamischen DNS Dienst nutzen zu können, musst Du den Client auf dem mit dem Internet verbundenen Gerät installieren. Dabei muss sichergestellt sein, dass die Internetverbindung mit einer offiziellen IP-Adresse angesprochen wird (d.h. keine IP aus dem RFC 1918 Bereich [192.168.x.x oder 172.22.x.x oder 10.x.x.x] benutzt wird).

Details zur Nutzung und Installation findest Du auch in unseren FAQ.

{lang: 'de'}

Tags: , , , , , ,



Dies ist der offizielle Weblog von EUserv

26.08.2011 | von admin

Er bietet witzige Episoden aus dem Arbeitsalltag, Fachthemen, sowie Präsentation und Informationen in eigener Sache.

EUserv Internet – Wir stellen uns vor

EUserv Internet wurde im Jahr 2005 als ein Geschäftsbereich des Internet Service Providers ISPpro Internet gegründet. Seither stellt EUserv einen stark wachsenden Anbieter im Bereich Webhosting, Domainregistrierung und dedizierte Server dar.

Die ISPpro Internet KG betreibt neben einem eigenen europäischen Weitverkehrs-Netzwerk zwei eigene Rechenzentren im Großraum Jena/Thüringen, die die Grundlage für die breitgefächerten Angebote aus einer Hand unter komplett eigenständiger Kontrolle bilden. Sie ist Mitglied bei DENIC, eco, RIPE, NIC.AT und RA Italiana. Seit 1998 betreut das Unternehmen weltweit über 60.000 Kunden.

Die Leistungen von EUserv Internet umschließen Webspace, dedizierte Server und Domainregistrierung. Weiterhin zählen E-Mail Dienste, Onlinespeicher und vServer zu den leistungsstarken Webhosting-Angeboten.

{lang: 'de'}

Tags: , , , , , , , ,



|

  • Kategorien




  • Über diesen Blog

    Dies ist der offizielle Weblog der europa-weiten Webhosting- Marke EUserv.
    Er bietet witzige Episo- den aus dem Arbeits- alltag, Fachthemen, sowie Präsentation und Informationen in eige- ner Sache.

    mehr...