chevere / danky
类型化模板系统
0.3.0
2022-12-26 13:11 UTC
Requires
- chevere/chevere: ^2.0
Requires (Dev)
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- symplify/easy-coding-standard: ^11.1
README
🔔 订阅 时事通讯 以不错过有关 Chevere 的任何更新。
什么是Danky?
Danky 是一个为 PHP 设计的类型化模板系统。与其他所有模板系统不同,在 Danky 中 模板是类。
🦄 模板在构造时明确声明其作用域,$render
属性可以是 string
或 Template
类型。
<?php // Quote.php use Chevere\Danky\Template; class Quote extends Template { public function __construct(string $text, string $author) { $this->render = <<<HTML <quote>"$text" --$author</quote> HTML; } };
那 <<<HTML ...
是 Heredoc 语法 字符串字面量。在 Danky 中,您可以使用所有处理多行字符串字面量的东西。Heredoc 对模板来说很棒,因为它可以评估变量,使模板易于阅读。
<?php // Home.php use Chevere\Danky\Template; class Home extends Template { public function __construct(Template $content) { $this->render = <<<HTML <main> $content </main> HTML; } };
Template
类实现了 Stringable
,您可以在字符串字面量中使用任何模板对象。
<?php // index.php use function Chevere\Danky\import; use Home; use Quote; echo new Home( content: new Quote( text: 'Hello, world!', author: 'Rodolfo' ) );
🥳 恭喜!您刚刚掌握了 Danky。
<main> <quote>"Hello, world!"</quote> </main>
现在运行 php demo/index.php
以查看更完整的示例。
许可协议
版权所有 2022 Rodolfo Berrios A.
Chevere 采用 Apache 许可协议,版本 2.0。请参阅 LICENSE 了解完整的许可协议。
除非适用法律要求或书面同意,否则在许可下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可的具体语言规定权限和限制,请参阅许可协议。