Registrieren  •  Login 
  
 
im Forum




Blog-Übersicht -> PHP + Konstanten = Megafail Beta: Google Font API und Google Font Directory :: Pac-Man feiert 30. Geburtstag - Google Logo wird zum Spiel
PHP + Konstanten = Megafail
Verfasst am: 19.05.2010, 23:47   Autor: killerbees19
Ja, ich ärgere mich heute wirklich lange damit. Langsam schwillt mir der Hals an, denn so ein Programm-/Script-Verhalten ist doch einfach nicht durchdacht bzw. verstößt gegen so ziemlich alle Prinzipien einer sauberen Programmierung Rolling Eyes

Beispiel 1: Vordefinierte Konstanten können als benutzerdefinierte Konstanten verwendet werden. Zwar nur in Verbindung mit constant() - aber trotzdem ist es etwas unlogisch, da man so eine vordefinierte Konstante halb überschreiben kann Shocked

PHP-Code:
1
<?php

// "Überschreiben" der Konstanten
define('NULL', 'test');
define('__FILE__', 'test');

// Die normalen - erwarteten - Werte
var_dump(NULL);
var_dump(__FILE__);

echo "\n\n";

// Unsere eigenen Werte
var_dump(constant('NULL'));
var_dump(constant('__FILE__'));

?>


Beispiel 2: Konstanten mit ungültigen Namen können ohne Fehlermeldung definiert werden, sind dann aber logischerweise nicht aufrufbar, erscheinen aber in der Liste aller definierten Konstanten Shocked

PHP-Code:
1
<?php

// Eine Konstante, die es gar nicht geben kann,
// da nur "[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*" erlaubt ist...
define('TEST !"§$%&/()=?', 'test');

// Logisch, funktioniert nicht!
var_dump(constant('TEST !"§$%&/()=?''));

// Aber hier wird sie aufgelistet...
var_dump(get_defined_constants(true));

?>


Liste wird vielleicht noch erweitert...


MfG Christian

Dieser Beitrag wurde insgesamt 3 mal geändert. Zuletzt am 19.05.2010, 23:47.


Autor Nachricht
Für diesen Beitrag können zur Zeit keine neuen Kommentare verfasst werden.

Kontaktiere den Autor des Beitrages, falls du Fragen dazu hast.


 

Verwendete Zeitzone: CET (Europe/Berlin)
Aktuelles Datum & Uhrzeit: 22.01.2025, 08:03
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!

Hosted by netcup
 
 
[ happytec.at | blog.happytec.at | forum.happytec.at | esports.happytec.at ]