RSS Feed  •  Profil  •  Private Nachrichten  •  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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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
2
3
4
5
6
7
8
9
10
11
12
13
<?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.


 

Alle Zeiten sind GMT + 2 Stunden (Sommerzeit)
Aktuelles Datum und Uhrzeit: 19.10.2018, 21:25
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!

netcup - Internetdienstleistungen
 
 
[ happytec.at | forum.happytec.at | blog.happytec.at | esports.happytec.at | event.happytec.at ]