ik heb een zeer simpele mvc tutorial doorlopen, probeer dat toe te passen, maar ik maak een fout, die ik maar niet goed krijg.
Het gaat over een mail functie op een site. Ik heb gelezen en toegepast dat de mail inhoud in de view thuishoort en dat de post variabelen in de controller hernoemd worden tot static variabelen.
Dit resulteert in de mailview.html:
setlocale (LC_TIME, "nl_NL");
$datum = strftime("%#e %B %Y", strtotime(NOW));
$to = "[email protected]";
$aanhef = ControlClass::getPost()[aanhef];
//etc...
$message = '<h5>'.$datum.'</h5>
//etc...
$mail = new MailModel($message, $aanhef, $naam, $email, $onderwerp, $to);
echo MailModel::getResult();
en de mailModel.php:
private static $result;
require_once('assets/phpMailer/PHPMailer-master/class.phpmailer.php');
$mail = new PHPMailer();
//etc..
if(!$mail->Send()) {
self::$result = '<h1 class="center">Helaas is door een technisch defect de mail niet verstuurd.</h1><br> <p>Gelieve het nogmaals te proberen.</p>'; }
//etc..
}
public static function getResult() {
return self::$result;
}
Ik voel ergens wel aan dat een view geen model object mag aanmaken, maar op de een of andere manier kan ik niet bedenken (ook na het lezen van verscheidene sites over dit onderwerp), hoe dan wel te handelen (ik zit denk ik nog te vast in het procedureel denken).
please help.