ivopetkov/html-server-components-compiler

HTML Server Components compiler

v1.3.0 2023-11-02 22:48 UTC

README

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 document head).
  • Makes easy to test each component because each component outputs full HTML code.

Latest Stable Version License

Install via Composer

composer require ivopetkov/html-server-components-compiler

Usage

$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>
')

Documentation

Full documentation is available as part of this repository.

Demo

A demo is available at http://ivopetkov.github.io/demos/html-server-components/. The source is also there.

License

This project is licensed under the MIT License. See the license file for more information.

Contributing

Feel free to open new issues and contribute to the project. Let's make it awesome and let's do in a positive way.

Author

This library is created and maintained by Ivo Petkov (ivopetkov.com).