pug / slim
Slim 的 Pug 模板引擎适配器
资助包维护!
kylekatarnls
Open Collective
Tidelift
Requires
- psr/http-message: ^1.0
- pug-php/pug: ^2.7.6 || ^3.4.1
Requires (Dev)
- codeclimate/php-test-reporter: ^0.4.0
- phpunit/phpunit: ^4.8.35 || ^5.7 || ^8.5.15
- slim/slim: ^3.0
Replaces
- md/pug-slim: 1.0
This package is auto-updated.
Last update: 2024-09-13 16:42:16 UTC
README
有关模板引擎的详细信息,请访问 phug-lang.com
安装
使用 Composer 安装
composer require pug/slim
与 Slim 3 一起使用
use Slim\App; use Slim\Pug\PugRenderer; include 'vendor/autoload.php'; $slimOptions = []; // here you can pass Slim settings $app = PugRenderer::create(new App($slimOptions), './templates'); $app->get('/hello/{name}', function ($request, $response, $args) { return $this->renderer->render($response, 'hello.pug', $args); }); $app->run();
PS:如果您没有传递应用程序给 create
方法,我们将自动初始化一个,因此您只需做
use Slim\Pug\PugRenderer; include 'vendor/autoload.php'; $app = PugRenderer::create(null, './templates');
与任何 PSR-7 项目一起使用
//Construct the View $pugView = new PugRenderer('./path/to/templates', [ 'option' => 'foobar', ]); //Render a Template $response = $pugView->render(new Response(), '/path/to/template.pug', $yourData);
模板变量
您可以为您的渲染器添加变量,这些变量将可供您渲染的所有模板使用。
// via the constructor $templateVariables = [ 'title' => 'Title', ]; $pugView = new PugRenderer('./path/to/templates', [], $templateVariables); // or setter $pugView->setAttributes($templateVariables); // or individually $pugView->addAttribute($key, $value);
通过 ->render()
传递的数据优先于属性。
$templateVariables = [ 'title' => 'Title', ]; $pugView = new PhpRenderer('./path/to/templates', $templateVariables); //... $pugView->render($response, $template, [ 'title' => 'My Title', ]); // In the view above, the $title will be "My Title" and not "Title"
默认情况下,使用 pug-php。但您可以指定其他引擎
$app = PugRenderer::create(null, null, [ 'renderer' => \Phug\Renderer::class, ]);
PS:Phug 自 Pug-php 3 内部使用以来,已自动安装。但您也可以安装不同的渲染器引擎,例如 tale-pug
composer require talesoft/tale-pug
$app = PugRenderer::create(null, null, [ 'renderer' => \Tale\Pug\Renderer::class, ]);
请注意,在这种情况下,您无法保证所有选项都将正常工作。
参考
- Pug-php 3 / Phug 官方文档 www.phug-lang.com
- Pug-php 3 / Phug 在线编辑器 pug-demo.herokuapp.com
- 要了解更多关于 Pug 的信息,请访问 pugjs.org
- 这是一个在线的 HTML 到 Pug 转换器 html2pug.herokuapp.com
致谢
此项目是从 https://github.com/MarcelloDuarte/pug-slim 分支出来的,并添加了 phug、pug-php 3、tale-jade 和 tale-pug 支持。