RainTPL em PHP
O RainTPL em PHP é um mecanismo de template fácil que permite que designers e desenvolvedores trabalhem melhor juntos, carrega um modelo HTML para separar a apresentação da lógica.
Para utilizar o RainTPL em seu projeto em PHP é necessário instalar a dependência através do composer acessando o github do RainTPL em https://github.com/feulf/raintpl3.
Para definir o que o Composer vai baixar como dependência do projeto, edite o arquivo .json criado, informando dentro de require:
{
"require": {
"rain/raintpl": ">=3.0.0"
}
}
Para entender melhor como utilizar o composer para instalar dependências em projetos, clique aqui.
Serão criados o arquivo “composer.lock” e o diretório “vendor”.
Crie o arquivo “index.php” para incluir o autoload do composer.
Para usar um template pronto, disponível no github, clique em qualquer arquivo example-…php, copie e cole os códigos no arquivo “index.php” e edite da seguinte forma:
// include
require_once ("vendor/autoload.php");
// namespace
use Rain\Tpl;
// config
$config = array(
"tpl_dir" => "tpl/",
"cache_dir" => "cache/"
);
//Passa as configurações
Tpl::configure( $config );
// create the Tpl object
$tpl = new Tpl;
// atribuição de variáveis
$tpl->assign( "name", "Obi Wan Kenoby" );
$tpl->assign( "version", PHP_VERSION );
// assign an array
$tpl->assign( "week", array( "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ) );
// renderiza o template
$tpl->draw( "index" );
Para mostrar o template, crie um arquivo index com a extensão desejada (que seja mais fácil para abrir) da seguinte forma:
<!-- Será mostrado o valor da variável $name -->
<h1>Hello! {$name}</h1>
<p>Teste de template</p>
<p>Versão do PHP: {$version}</p> <!-- valor da constante PHP_VERSION -->
</div>
Para utilizarmos o conceito do raintpl com o PHPmailer, por exemplo, precisamos antes adicionar a dependência do PHPmailer no arquivo .json criado:
{
"require": {
"rain/raintpl": ">=3.0.0",
"phpmailer/phpmailer": "~6.1" <!-- dependência criada -->
}
}
Relembrando, para entender melhor como utilizar o composer para instalar dependências em projetos, clique aqui.
Então, para enviarmos e-mails utilizando o PHPmailer com templates criados através do RainTPL, crie um arquivo, por exemplo, mail.php da seguinte forma:
// include
require_once ("vendor/autoload.php");
// namespace
use Rain\Tpl;
// config
$config = array(
"tpl_dir" => "tpl/",
"cache_dir" => "cache/"
);
//Passa as configurações
Tpl::configure( $config );
// create the Tpl object
$tpl = new Tpl;
// atribuição de variáveis
$tpl->assign( "name", "Obi Wan Kenoby" );
$tpl->assign( "version", PHP_VERSION );
// assign an array
$tpl->assign( "week", array( "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ) );
// renderiza o template com o HTML a ser enviado por e-mail
$html = $tpl->draw("index", true);
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
//Cria uma instância do PHPmailer
$mail = new PHPMailer;
//Tell PHPMailer to use SMTP
$mail->isSMTP();
//Enable SMTP debugging
// SMTP::DEBUG_OFF = off (for production use)
// SMTP::DEBUG_CLIENT = client messages
// SMTP::DEBUG_SERVER = client and server messages
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
//Formato do debug mostrado na tela
$mail->Debugoutput = 'html';
//Set the hostname of the mail server
$mail->Host = 'meuhost.com.br';
// use
// $mail->Host = gethostbyname('smtp.host.com');
// if your network does not support SMTP over IPv6
//Define o número da porta SMTP - 587 para envio SMTP TLS autenticado, também conhecido como RFC4409
$mail->Port = 587;
//Define o mecanismo de criptografia a ser usado - STARTTLS ou SMTPS
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
//Verifica se deve usar autenticação SMTP
$mail->SMTPAuth = true;
//Username to use for SMTP authentication - use full email address for gmail
$mail->Username = 'username@gmail.com';
//Password to use for SMTP authentication
$mail->Password = 'yourpassword';
//Defina de quem a mensagem deve ser enviada
$mail->setFrom('suport@seusite.com.br', 'Suporte do site Criandobits');
//Set an alternative reply-to address
//$mail->addReplyTo('replyto@example.com', 'First Last');
//Defina para quem a mensagem deve ser enviada
$mail->addAddress('fulano@gmail.com', 'Benedito Silva Júnior');
//Set the subject line
$mail->Subject = 'Você precisa de ajuda?';
//Informamos o HTML criado pelo template
$mail->msgHTML($html);
//Caso o leitor de e-mails não suporte HTML, somente textos
$mail->AltBody = 'Agradecemos por entrar em contato conosco!';
//Adiciona anexos
//$mail->addAttachment('images/phpmailer_mini.png');
//Envia a mensagem e verifique se há erros
if (!$mail->send()) { //se não enviar
echo 'Mailer Error: '. $mail->ErrorInfo;
} else {
echo 'Message sent!';
//Section 2: IMAP
//Uncomment these to save your message in the 'Sent Mail' folder.
#if (save_mail($mail)) {
# echo "Message saved!";
#}
}
Lembrando que as informações referentes ao Host, Port, Username, Password e addAddress precisam ser válidas para que o e-mail seja enviado com sucesso.
A linha $tpl->draw( “index” ) criará o template com o conteúdo HTML que será enviado por e-mail.
Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:
Como redirecionar páginas em PHP
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários