<?php
use Tamtamchik\SimpleFlash\BaseTemplate;
use Tamtamchik\SimpleFlash\TemplateInterface;
use function Tamtamchik\SimpleFlash\flash;
session_start();
require_once __DIR__ . '/../vendor/autoload.php';
class CustomTemplate extends BaseTemplate implements TemplateInterface
{
protected $prefix = '<li>'; // every line prefix
protected $postfix = '</li>'; // every postfix
protected $wrapper = '<ul class="a a-%s">%s</ul>'; // wrapper over messages of same type
/**
* @param string $messages - message text
* @param string $type - message type: success, info, warning, error
*
* @return string
*/
public function wrapMessages(string $messages, string $type): string
{
return sprintf($this->getWrapper(), $type, $messages);
}
}
flash()->setTemplate(new CustomTemplate)->error(['Invalid email!', 'Invalid username!'])
->warning('Warning message.')
->info('Info message.')
->success('Success message!');
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test custom template example.</title>
<style>
.container {
max-width: 600px;
margin: 0 auto;
font-family: -apple-system, --sans-serif, sans-serif;
}
.a {
border: 1px solid;
border-radius: 10px;
padding: 1em;
margin: 0.25em 0;
}
.a li {
list-style: none;
}
.a-info {
background: lightblue;
}
.a-error {
background: lightpink;
}
.a-warning {
background: lightgoldenrodyellow;
}
.a-success {
background: lightgreen;
}
</style>
</head>
<body>
<?php include_once '_ribbon.php'; ?>
<div class="container" style="width: 600px;">
<?php include_once '_menu.php'; ?>
<?= flash() ?>
</div>
</body>
</html>
|