Konstanten in Zeichenkette einfügen

Beispiel ausführen
Möchte man Konstanten in Strings ersetzen so muss man normalerweise die Zeichenkette mit Hilfe des Vereinigungs(concatenation)-Operators '.' zusammensetzen. Also z.B. so
$a = 'Hallo '.cNAME.' wie ist das Wetter in '.cPLACE.'?';
Bei heredoc-Abschnitten gibt es keine Möglichkeit die Konstanten direkt einzubinden. Aber mit dem folgenden Trick gelingt auch das. Hier wird entweder ein Objekt oder ein assoziatives Array benutzt.
<?php

class DefinedConstants
{
 function 
DefinedConstants()
 {
    
$tmp get_defined_constants();

    foreach (
$tmp as $k => $v){
        
$this->$k $v;
    }
 }
/* end class */


define ('cNAME''Peter');
define ('cPLACE''Sydney');


$foo = new DefinedConstants;

$test = <<< EOT

Hallo 
$foo->cNAME

wie ist das Wetter in 
$foo->cPLACE?
<hr>
EOT;

echo 
$test;

// Oder man nutzt ein assoziatives Array

$constants get_defined_constants();

$test = <<< EOT

Hallo 
{$constants['cNAME']}

wie ist das Wetter in 
{$constants['cPLACE']}?
<hr>
EOT;

echo 
$test;


?>

Benutzte Funktionen


Hinweise zum DatenschutzImpressum © 2005-2008 S. Eickhoff