Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Baixei a class.phpmailer, coloquei em uma pasta phpmailer dentro de public do meu projeto POO-MVC e criei no Models uma classe Mensagem que recebe os parâmetros de envio.
Acontece que fiz um template pra separar o HTML do código.
Na função PHP Mailer eu consigo definir a Body com um file_get_contents, e recebo o e-mail com o meu template...
Até aí tudo bem...o problema que quero colocar conteúdo dinâmico no meu template...então dentro do meu template eu instancio a classe Mensagem que tem um objeto retornando o texto.
Porém, quando recebo e-mail com meu template, escreve meu objeto contet(); no lugar do texto...acredito que seja por no PHP Mailer eu ter definido a Body com um file_get_contents.
Alguém pode me ajudar?
>
20 horas atrás, Snowden disse:
View.php
class View {
public static function make($template, array $data = array()) {
extract($data);
ob_start();
// crie uma pasta Views para organizar os templates
$file = __DIR__ . '/Views/' . $template;
if (!file_exists($file)) {
throw new \Exception(sprintf('Arquivo %s não existe', $file));
}
require $file;
return ob_get_clean();
}
}
**Controller.php**
class Controller {
public function sendMail() {
$template = View::make('Template.php', array(
'MODEL' => new MinhaModel(),
));
$mail = new PHPMailer(true);
...
$mail->Body = $template;
$mail->send();
...
}
}
**Views/Template.php**
<h1>Meu texto: <?php echo $MODEL->getMeuTexto() ?></h1>
Obrigado. Abraços
View.php
class View {
class Controller {