Door
koh do
op 15-04-2015 12:53
gewijzigd op 15-04-2015 12:55
2.330 views
Ik heb eigenlijk een vraag met betrekking tot het combineren van HTML & PHP. ik heb een klein voorbeeldje gemaakt. Is dit de juiste manier of kan dit beter? Want dit is natuurlijk maar een klein voorbeeldje maar dit wordt vrij snel zeer on overzichtelijk.
Voor een groot project zou ik dat wel doen, maar voor een simpele site is het geen noodzaak.
Persoonlijk ben ik niet meer zo verzot op Smarty. Het is bloated, en neemt behoorlijk meer geheugen in terwijl je met PHP alleen sneller uit de voeten kunt met een eigen geschreven templatesysteem die volledig op PHP's basisfuncties leunt.
@koh do, je moet gewoon doen wat jij fijn vindt en alles wat de leesbaarheid bevordert lijkt mij een positieve zaak. Van jouw bovenstaande fragment zou ik het volgende maken:
- maak voor zaken met een specifiek doel (database, hulpfuncties) aparte bestanden of classes
- include alle PHP-bestanden voordat je document begint, als dit gaat
- organiseer e.e.a. in directories zodat je snel bestanden terug kunt vinden
- spring zowel HTML (waar nodig) en PHP (eigenlijk altijd) in en zet het inspringen van HTML in PHP voort en andersom
- verpak PHP luchtdicht in HTML en andersom, dit leest, in combinatie met het inspringen, best fijn, je kunt heel snel visueel zien op welke diepte een PHP- of HTML-blok zich bevindt
- alles heeft een character encoding: je database, je HTML, je PHP document, wees hier expliciet in of bereid je voor op problemen; gebruik dus mysqli_set_charset($connect', 'utf8') direct na het verbinden en in een PHP-header of meta-tag voor je HTML-document
- ESCAPE je OUTPUT, bijvoorbeeld met de functie escape():
<?php
function escape($in) {
return htmlspecialchars($in, ENT_QUOTES, 'UTF-8');
}
?>
- zorg voor foutafhandeling (bijvoorbeeld in je database class) of (zoals in dit geval) geef netjes weer dat er fouten zijn opgetreden
- schrijf queries uit over meerdere regels
- gebruik (in PHP) enkele quotes waar je kunt en dubbele waar het niet anders kan
- zet (in HTML) altijd dubbele quotes om attributen
- definieer geen stijlen inline, maar verplaats deze naar een extern bestand: