Voorbeeld 3.
het is overzichtelijker, en PHP hoeft zich er niet meer mee bezig te houden, wat weer voor dit kleine scriptje enkele nanosecondes zal schelen.
Voorbeeld 1 kan ook, maar ikzelf doe dat alleen voor grote lappen met HTML-code. VOor enkele regels gebruik ik een print/echo.
Ik vind ze alle drie even storend maar als je je script netjes opbouwt dan heb je je 'code' en je 'view' en zullen die echo's in ieder geval nooit in je code komen.
Wel heb ik een soortgelijke ervaring met queries. die schrijf ik dan meestal maar zo:
<?php
function createTable()
{
return $db->query("
CREATE TABLE IF NOT EXISTS `auteurs` (
`auteur_id` int(11) NOT NULL AUTO_INCREMENT,
`naam` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`geboren` date NOT NULL,
`nationaliteit` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`overleden` date DEFAULT NULL,
PRIMARY KEY (`auteur_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
");
}
?>
Nou, dan zal ik nog even een andere optie in de groep gooien...
Hou wel even de opmerking van Frank in je achterhoofd: "maar als je je script netjes opbouwt dan heb je je 'code' en je 'view' en zullen die echo's in ieder geval nooit in je code komen."
Jouw voorbeeld zou ik vertalen naar:
<?php
if (isset($_POST['a'])) echo 'Hallo,<br>dit is<br>een test.';
?>
Past prima op 1 regel in dit geval.
Als het meerdere regels zijn, dan zou ik kiezen voor voorbeeld 3, maar ik zou wel inspringen:
<?php
if (isset($_POST['a'])) {
?>
Hallo bla die bla bla bla bla bladie blablabla,<br>
dit is bla die bla bla bla bla bladie blablabla<br>
een bla die bla bla bla bla bladie blablabla test.
<?php
}
?>
Sorry even tussendoor ik ben eerste jaars leerling en ik wil informatica studeren, we hebben een opdracht gekregen en de opdracht moeten we woensdag inleveren. Wilt iemand de codes uitwerken en even kort uitleggen heel erg bedankt.
De opdracht is als volgt:
Mijn antwoord is puur persoonlijk en moet je nemen as is.
(voorbeeld 3) Ik vind het storend wanneer men de php-haakjes sluit en terug opent.
Dat maakt dat je structuur verliest; dat je moeilijker kan zien welke accolade waarbij hoort ...
Wat ook het voordeel moge zijn, het weegt niet op tegen de nadelen.
----
(voorbeeld 2) Lijkt me nergens voor nodig; lijkt me nergens goed voor.
----
Over het algemeen kies ik voorbeeld 1.
----
Maar laat me toch voorbeeld 4 geven: heredoc notatie.
Voorbeeld:
<?php
if(isset($_POST['a'])){
echo <<<HTML
<div>
<span class="uitleg">De foto's zijn klaar</span>
<span class="uitleg">Merk op dat ik nergens problemen krijg met speciale tekens zoals ' of "</span>
</div>
HTML;
}
?>
Een aantal voordelen:
- je hebt geen probleem met ' of " tussen de HTML.
- Kijk naar de indentering. Bij jouw voorbeeld 1 start jouw eerste Hallo op 7 karakters van de rand, terwijl het tweede lijntje op 1 karakter van de rand staat.
Ik heb dit niet. De string begint pas bij het lijntje onder de <<< en eindigt de lijn boven het afsluitend teken.
Deze strookt grotendeels met die van Frank en Ozzie.
Als je goed onderscheid maakt tussen PHP code en de HTML (view), krijg je binnen de HTML beperkt een echo van een PHP variabelen.
Als je hele lapppen HTML hebt, weet je ook niet meer waar je blijft als je dat gehele block gaat echoën.
Daarnaast kan je dan ook geen gebruik meer maken van de voordelen die de meeste IDE's bieden.