devcoder-xyz/php-renderer

PHPRenderer 是一个轻量级的 PHP 类,用于在 PHP 中原生渲染模板,支持模块化和可重用视图的块。

1.0.0 2023-08-05 21:03 UTC

This package is auto-updated.

Last update: 2024-09-05 23:20:09 UTC


README

PHP Renderer 是一个简单的模板引擎,允许您将表示层与 PHP 代码分离。它提供了一个基本的模板继承机制,灵感来源于流行的模板引擎如 Twig。

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

安装

您可以使用 Composer 安装 PHP Renderer 库。只需运行以下命令

composer require devcoder-xyz/php-renderer

基本用法

要在项目中使用 PHP Renderer,首先创建一个 PhpRenderer 类的实例,并传递存放模板的目录

use DevCoder\Renderer\PhpRenderer;

// Specify the template directory
$templateDir = '/path/to/templates';

// Optional parameters to be passed to the templates
$parameters = [
    'siteTitle' => 'My Website',
];

// Create the renderer instance
$renderer = new PhpRenderer($templateDir, $parameters);

创建模板

使用 PHP 文件创建您的模板。例如,创建一个名为 template.php 的模板文件,内容如下

<?php $this->extend('layout.php'); ?>

<?php $this->startBlock('title'); ?>
    My Page Title
<?php $this->endBlock(); ?>

<?php $this->startBlock('content'); ?>
    <h1>Hello, <?php echo $name; ?>!</h1>
    <p>Welcome to my website.</p>
<?php $this->endBlock(); ?>

创建布局

创建一个布局文件(例如,layout.php),表示您网页的常用结构。使用块定义将要由单个模板内容替换的段落。

<!DOCTYPE html>
<html>
<head>
    <title><?php echo $this->block('title'); ?></title>
</head>
<body>
    <div class="container">
        <?php echo $this->block('content'); ?>
    </div>
</body>
</html>

渲染模板

要渲染模板,使用 PhpRenderer 类的 render 方法

echo $renderer->render('template.php', ['name' => 'John']);

这将使用提供的上下文数据渲染 template.php,并将其注入到 layout.php 中以创建最终的 HTML 输出。

辅助方法

您可以使用 get 方法访问传递给渲染器的参数

// Get a parameter value
$siteTitle = $this->get('siteTitle');

模板继承

PHP Renderer 允许您在子模板中扩展布局并覆盖特定块。当您在模板中使用 extend 方法时,它会告诉渲染器继承扩展模板中定义的布局。然后,您可以使用 startBlockendBlock 来覆盖布局中特定块的内容。

贡献

欢迎为 PHP Renderer 库做出贡献!如果您发现任何问题或想提出改进建议,请随时在 GitHub 上打开一个问题或提交一个拉取请求。

许可证

PHP Renderer 是在 MIT 许可证下发布的开源软件。有关更多详细信息,请参阅 LICENSE 文件。