for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace suda\application\template;
use suda\application\template\compiler\Tag;
use suda\application\template\compiler\Compiler;
/**
* 可执行命令表达式
*
*/
class ModuleTemplateCompiler extends Compiler
{
* 定义的标签
* @var array
protected $tag = [
'raw' => [
'{{!', '}}',
'<?php echo $code; ?>',
],
'comment' => [
'{--', '--}',
'<?php /* $code */ ?>',
'echo' => [
'{{', '}}',
'<?php echo htmlspecialchars($this->application->_($code), ENT_SUBSTITUTE | ENT_QUOTES | ENT_HTML5); ?>',
'string' => [
'{=', '}',
'<?php echo htmlspecialchars($this->application->_("$code"), ENT_SUBSTITUTE | ENT_QUOTES | ENT_HTML5); ?>',
'raw-string' => [
'@{', '}',
'<?php echo htmlspecialchars($code, ENT_SUBSTITUTE | ENT_QUOTES | ENT_HTML5); ?>',
'event' => [
'{:', '}',
'<?php $this->application->event()->exec("$code", [$this]); ?>',
];
public function init()
$this->registerCommand(new ModuleTemplateCommand);
foreach ($this->tag as $name => $value) {
$this->registerTag(new Tag($name, $value[0], $value[1], $value[2]));
}