A brand new way to build websites
It's a simple idea:
Instead of using template engines or PHP includes in your HTML code use the <component> tag. It allows you to:
- Include code from other files (
<component src="file:header.php"/>
). - Pass arguments (
<component src="file:content.php" pageID="home"/>
) that are available in the file ($component->getAttribute('pageID')
or just$component->pageID
). - Automatically places the included file HTML code into the proper places (Tags in the
head
go in the parent documenthead
). - Makes easy to test each component because each component outputs full HTML code.
composer require ivopetkov/html-server-components-compiler
$compiler = new IvoPetkov\HTMLServerComponentsCompiler();
echo $compiler->process('
<html>
<body>
<component src="file:header.php"/>
<component src="file:content.php" pageID="home"/>
<component src="file:footer.php"/>
</body>
</html>
')
Full documentation is available as part of this repository.
A demo is available at http://ivopetkov.github.io/demos/html-server-components/. The source is also there.
This project is licensed under the MIT License. See the license file for more information.
Feel free to open new issues and contribute to the project. Let's make it awesome and let's do in a positive way.
This library is created and maintained by Ivo Petkov (ivopetkov.com).