PHP Das doppelte Fragezeichen

Ich erinnere mich noch an den Tag, wo PHP 7 kam. Da war ich zwischenzeitlich mal Angestellter bei einem Berliner Reise StartUp in Prenzelberg. Bis dahin schrieben wir unsere Anwendung in PHP 5.6 und es war ein wilder Mix aus Prozedural und Objektorientierung. Das war schon eine spannende Sache und man merkte das PHP den Schritt zu einer seriösen Anwendungsprogrammiersprache setzte. Weg vom PHP Scriptkidies hin zu modularen und Objektorientierten. Ich war schon dran komplett zu JAVA Welt zu wechseln, weil mich einfach in PHP viele Dinge störten. Aber es kam anders und ich entwickel heute meine meisten Projekte in PHP oder Javascript.

Heute geht es um den „null coalescing operator“ bzw. den Null-Koaleszenz-Operator. Vielleicht habt ihr den schon mal gesehen. Ein Beispiel:

$currency = $customer_currency ?? 'EUR';

Und ist nichts anderes als:

$currency = isset($customer_currency) ? $customer_currency: 'EUR';

// bzw. 
if ( isset($customer_currency) ) {
	$currency= $customer_currency;
} else {
	$currency = 'EUR';
}

Der „null coalescing operator“ ist seit PHP 7 eingebaut und vereinfacht und verkürzt an manchen Stellen das schreiben von Code. In C und anderen Sprachen gibt es den bereits schon länger. Eine feine Sache.

Posted in PHP

Leave a Comment

Your email address will not be published. Required fields are marked *

*

*

Empfholende Artikel


Was ist der Unterschied zwischen Unit-Tests und Function-Tests

June 27, 2022

Um es kurz zu fassen: Unit Tests gibt dem Entwickler ein Feedback ob sein bzw. der Code richtigfunktioniert. Dagegen machen Funktionstest eine Aussagen darüber, ob der Codeauch die richtige Sache macht. Unit Tests werden aus der Sicht des Programmierers geschrieben. Sie sollensicherstellen, dass eine bestimmte Methode (oder eine Einheit) einer Klasse eineReihe von spezifischen Aufgaben […]

PHP Array Pointer Funktionen

April 9, 2021

Es gibt eine Reihe sehr nützlicher PHP Array Funktionen, die manch ein Entwickler noch nicht ganz oder garnicht geläufig sind. Und dazu zähle ich mich auch und bin froh über diese – bei einem Codereview – gestolpert zu sein. Die Rede ist von current(), next(), prev(), reset(), end() und each(). Ich stelle jede eben genannte […]