TemplateBridge is a lightweight and versatile template rendering library that supports native PHP rendering and a custom C engine via a .so
file for enhanced performance.
You can install the PHP Renderer library using Composer. Just run the following command:
composer require phpdevcommunity/template-bridge
To use the PHP Renderer in your project, first create an instance of the PhpRenderer
class and pass the directory where your templates are located:
use PhpDevCommunity\TemplateBridge\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);
Create your templates using PHP files. For example, create a template file named template.php
with the following content:
<?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(); ?>
Create a layout file (e.g., layout.php
) that represents the common structure of your web pages. Use blocks to define sections that will be replaced by content from individual templates.
<!DOCTYPE html>
<html>
<head>
<title><?php echo $this->block('title'); ?></title>
</head>
<body>
<div class="container">
<?php echo $this->block('content'); ?>
</div>
</body>
</html>
To render your templates, use the render
method of the PhpRenderer
class:
echo $renderer->render('template.php', ['name' => 'John']);
This will render the template.php
with the provided context data and inject it into the layout.php
to create the final HTML output.
You can use the get
method to access parameters passed to the renderer:
// Get a parameter value
$siteTitle = $this->get('siteTitle');
Note: This feature is currently in development.
Contributions to the TemplateBridge library are welcome! If you find any issues or want to suggest enhancements, feel free to open a GitHub issue or submit a pull request.
TemplateBridge is open-source software released under the MIT License. See the LICENSE file for more details.