Passed
Push — master ( 79eb06...102376 )
by 世昌
02:35
created

ModuleTemplateCompiler::getConfig()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace suda\application\template;
4
5
use suda\application\template\compiler\Tag;
6
use suda\application\template\compiler\Compiler;
7
8
/**
9
 * 可执行命令表达式
10
 *
11
 */
12
class ModuleTemplateCompiler extends Compiler
13
{
14
    /**
15
     * 定义的标签
16
     *
17
     * @var array
18
     */
19
    protected $tag = [
20
        'raw' => [
21
            '{{!', '}}',
22
            '<?php echo $code; ?>',
23
        ],
24
        'comment' => [
25
            '{--', '--}',
26
            '<?php /* $code */ ?>',
27
        ],
28
        'echo' => [
29
            '{{', '}}',
30
            '<?php echo htmlspecialchars($this->application->_($code), ENT_SUBSTITUTE | ENT_QUOTES | ENT_HTML5); ?>',
31
        ],
32
        'string' => [
33
            '{=', '}',
34
            '<?php echo htmlspecialchars($this->application->_("$code"), ENT_SUBSTITUTE | ENT_QUOTES | ENT_HTML5); ?>',
35
        ],
36
        'raw-string' => [
37
            '@{', '}',
38
            '<?php echo htmlspecialchars($code, ENT_SUBSTITUTE | ENT_QUOTES | ENT_HTML5); ?>',
39
        ],
40
        'event' => [
41
            '{:', '}',
42
            '<?php $this->application->event()->exec("$code", [$this]); ?>',
43
        ],
44
    ];
45
46
47
    public function init()
48
    {
49
        $this->registerCommand(new ModuleTemplateCommand());
50
        foreach ($this->tag as $name => $value) {
51
            $this->registerTag(new Tag($name, $value[0], $value[1], $value[2]));
52
        }
53
    }
54
}
55