this is a single of this project

boolval PHP 5.4 – Einfach verfügbar machen

Die Funktion boolval hat lange auf sich warten lassen. Während intval und floatval lange zur Grundausstattung von PHP gehörten, wurde boolval erst mit PHP 5.5 eingeführt. Inzwischen nutzen viele Projekte boolval, viele Webserver allerdings auch noch PHP 5.4. Oft scheitert ein Einsatz von PHP-Software nur am Fehlen dieser Funktion. Mit einem Trick lässt sich boolval PHP 5.4 aber implementieren. 

Letztlich geht es ja „nur“ darum, eine Funktion, die noch nicht existiert, nachträglich zu implementieren. Das könnte man einfach machen, indem man die Funktion „nachschiebt“

// boolval PHP 5.4 Implementation
function boolval( $my_value ) {
return (bool)$my_value;
}

Werden diese Zeilen in eine Datei geschrieben, die immer implementiert wird, steht boolval PHP5.4 projektweit zur Verfügung. Das Verhalten sollte eigentlich dem von boolval unter PHP 5.5 und später identisch sein, zumindest identisch genug, damit die Anwendungsfälle abgedeckt werden.

Einziges Problem: Kommt nun auf einem älteren Server jemand auf die Idee, doch PHP in einer aktuellen Version zu installieren, ist das Projekt plötzlich nicht mehr lauffähig, denn die Funktion boolval existiert ja bereits. Die Implementierung sollte dieses also abfragen und boolval PHP 5.4 verfügbar machen, bei PHP 5.5 aber überspringen. Glücklicherweise existiert die Möglichkeit, das Vorhandensein einer Funktion abzufragen.

 // boolval PHP 5.4 Implementation with checking version
if ( !function_exists( 'boolval' ) ) {
function boolval( $my_value ) {
return (bool)$my_value;
}
}

In diesem Fall wird die Implementation nur vorgenommen, wenn boolval noch nicht existiert. Im Falle eines PHP-Updates auf PHP größer PHP 5.4 wird die Implementation ignoriert.

Es ist natürlich daran zu denken, dass bei einem Softwareupdate eventuelle Änderungen an den core-Files ebenfalls überschrieben werden. Auch wenn es unschön ist, sollte überlegt werden, diese nachträglich Implementation von boolval in die Konfigurationsdatei eines Projekts zu schreiben, damit sie Updates übersteht und sehr frühzeitig geladen wird.

Über den Autor Alle Beiträge ansehen

Sebastian

Sebastian Beyl ist der Gründer des Agentur-Netzwerks ISBeyl und betreibt das Unternehmen bereits seit 1997. Der Medienpsychologe und Medieninformatiker ist leidenschaftlicher Programmierer.

Schreibe einen Kommentar

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

Help-Desk