https://github.com/phpdevcommunity/template-bridge
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.
https://github.com/phpdevcommunity/template-bridge
Last synced: 10 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/phpdevcommunity/template-bridge
- Owner: phpdevcommunity
- License: mit
- Created: 2024-10-08T09:44:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-08T09:46:59.000Z (over 1 year ago)
- Last Synced: 2025-04-09T22:44:29.363Z (10 months ago)
- Language: PHP
- Size: 3.91 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PHP TemplateBridge
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.
## Installation
You can install the PHP Renderer library using Composer. Just run the following command:
```bash
composer require phpdevcommunity/template-bridge
```
## 1. Basic Usage of *PHP Renderer*
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:
```php
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);
```
### Creating Templates
Create your templates using PHP files. For example, create a template file named `template.php` with the following content:
```php
extend('layout.php'); ?>
startBlock('title'); ?>
My Page Title
endBlock(); ?>
startBlock('content'); ?>
Hello, !
Welcome to my website.
endBlock(); ?>
```
### Creating Layouts
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.
```php
block('title'); ?>
block('content'); ?>
```
### Rendering Templates
To render your templates, use the `render` method of the `PhpRenderer` class:
```php
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.
### Helper Methods
You can use the `get` method to access parameters passed to the renderer:
```php
// Get a parameter value
$siteTitle = $this->get('siteTitle');
```
## 2. Basic Usage of *Go Renderer*
Note: This feature is currently in development.
## Contributing
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.
## License
TemplateBridge is open-source software released under the MIT License. See the [LICENSE](LICENSE) file for more details.