Tutorials
Heredocs syntax
Uitleg en voorbeelden over de Heredocs syntax
Pagina 1
Inleiding
Kom net uit school, het achtste uur(16.00) en ff me huiswerk afgeraffelend
en begonnen aan deze tutorial!
Heredox? Hoezo die naam?
Eigenlijk heet de heredox syntax de here document syntax, dus kortweg kan je het heredocs of heredox syntax noemen.
Waarom die naam moet je niet aan mij vragen, wat dan
zou je net zo goed kunnen vragen waarom een boom nou eigenlijk een boom heet :p
HS
Ik noem de Heredox Syntax nu in deze tut HS,
want dan hoef ik ietsje minder te schrijven.
en begonnen aan deze tutorial!
Heredox? Hoezo die naam?
Eigenlijk heet de heredox syntax de here document syntax, dus kortweg kan je het heredocs of heredox syntax noemen.
Waarom die naam moet je niet aan mij vragen, wat dan
zou je net zo goed kunnen vragen waarom een boom nou eigenlijk een boom heet :p
HS
Ik noem de Heredox Syntax nu in deze tut HS,
want dan hoef ik ietsje minder te schrijven.
Pagina 2
HS met echo/print
Hiermee wordt de heredox syntax vooral bij gebruikt. Bij echo() en print().
Het werkt als volgt: je neem een woord zonder speciale letters of tekens en dat zet je uppercase(hooftletters). In dit geval neem ik blub.
Je zet er een echo voor en drie maal deze dingen: <
Daarna kan je op de volgende regel gaan typen
en op de volgende ook. Enzovoort.
De laatste regels + enter zet je het zelfde woord 'blub' neer en een vaste puntkomma ; en klaar. Die blub moet dan wel helemaal aan het begin zetten. Geen spaties of tabs ervoor dus. Anders ga je finaal de mist in.
Voorbeeld:
<?php
echo <<<BLUB
Test van de HS !!!!!
BLUB;
?>
Dit voorbeeld is structuristisch hetzelfde:
<?php
echo <<<BLAAT
Andere test :P
BLAAT;
?>
En deze ook:
<?php
echo <<<HTML
'K kan niet ophouden te "testen"
HTML;
?>
Quotes toegstaan!!
Dit zijn een van de redenen waarom HS zo makkelijk is, zoals je ook in mijn
laatste voorbeeldtje zag: Quotes, enkel(') of dubbel(") kunnen allebij.
Dit zou niet werken:
<?php
echo "Hallo, morgen ga ik "dag" zeggen tegen jou.";
?>
maar dit wel:
<?php
echo <<<END
Hallo, morgen ga ik "dag" zeggen tegen jou.
END;
?>
Het werkt als volgt: je neem een woord zonder speciale letters of tekens en dat zet je uppercase(hooftletters). In dit geval neem ik blub.
Je zet er een echo voor en drie maal deze dingen: <
Daarna kan je op de volgende regel gaan typen
en op de volgende ook. Enzovoort.
De laatste regels + enter zet je het zelfde woord 'blub' neer en een vaste puntkomma ; en klaar. Die blub moet dan wel helemaal aan het begin zetten. Geen spaties of tabs ervoor dus. Anders ga je finaal de mist in.
Voorbeeld:
<?php
echo <<<BLUB
Test van de HS !!!!!
BLUB;
?>
Dit voorbeeld is structuristisch hetzelfde:
<?php
echo <<<BLAAT
Andere test :P
BLAAT;
?>
En deze ook:
<?php
echo <<<HTML
'K kan niet ophouden te "testen"
HTML;
?>
Quotes toegstaan!!
Dit zijn een van de redenen waarom HS zo makkelijk is, zoals je ook in mijn
laatste voorbeeldtje zag: Quotes, enkel(') of dubbel(") kunnen allebij.
Dit zou niet werken:
<?php
echo "Hallo, morgen ga ik "dag" zeggen tegen jou.";
?>
maar dit wel:
<?php
echo <<<END
Hallo, morgen ga ik "dag" zeggen tegen jou.
END;
?>
Pagina 3
HS met variablen
Die mensen van PHP zijn niet helemaal gecrasht! Ze hebben namelijk de HS ook voor variablen beschikbaar gemaakt.
Gewoon dezelfde beschrijving als de vorige pagina, alleen
echo vervangen door de variable.
Voorbeeldje:
<?php
$var = <<<EOF
"Heredox 4 ever!!!!" zei mijn oude oma.
EOF;
?>
Best simpel, hè?
Je moet het alleen snappen :P
Variablen in HS
Hier moet je dus op letten, want dit gaat niet meer zo:
<?php
echo "Var test geeft $test";
?>
en ook niet zo:
<?php
echo "Var test geeft ".$test;
?>
dus mag niet de conclusie trekken dat het zo moet:
<?php
echo <<<HTML
Var test geeft $test
HTML;
?>
dat hierboven output: Var test geeft $test
het moet namelijk zo:
<?php
echo <<<HTML
Var test geeft {$test}
HTML;
?>
Gewoon dezelfde beschrijving als de vorige pagina, alleen
echo vervangen door de variable.
Voorbeeldje:
<?php
$var = <<<EOF
"Heredox 4 ever!!!!" zei mijn oude oma.
EOF;
?>
Best simpel, hè?
Je moet het alleen snappen :P
Variablen in HS
Hier moet je dus op letten, want dit gaat niet meer zo:
<?php
echo "Var test geeft $test";
?>
en ook niet zo:
<?php
echo "Var test geeft ".$test;
?>
dus mag niet de conclusie trekken dat het zo moet:
<?php
echo <<<HTML
Var test geeft $test
HTML;
?>
dat hierboven output: Var test geeft $test
het moet namelijk zo:
<?php
echo <<<HTML
Var test geeft {$test}
HTML;
?>
Pagina 4
Andere toepassingen
Je kan HS ook gebruiken bij returnwaardes.
<?php
function HS() {
return <<<EOF
Blub!
EOF;
}
?>
Complete Conclusie
-Syntax:
<?php
echo <<<EOF
Text
EOF;
print <<<HTML
Text
HTML;
$var = <<<BLUB
Waarde
BLUB;
?>
-Einde syntax altijd direct op een nieuwe regel zonder whitespaces of tabs.
-Geen $var maar {$var}
<?php
function HS() {
return <<<EOF
Blub!
EOF;
}
?>
Complete Conclusie
-Syntax:
<?php
echo <<<EOF
Text
EOF;
print <<<HTML
Text
HTML;
$var = <<<BLUB
Waarde
BLUB;
?>
-Einde syntax altijd direct op een nieuwe regel zonder whitespaces of tabs.
-Geen $var maar {$var}
Reacties
0