PHP Classes

Puja: Template engine that compiles templates into PHP

Recommend this page to a friend!
     
  Info   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 415 All time: 6,453 This week: 131Up
Version License PHP version Categories
puja 1.0BSD License5.0PHP 5, Cache, Templates, Code Generation
Description 

Author

This package is a template engine that compiles templates into PHP.

It can validate and compile a template file. The template syntax allows conditional sections that can be nested.

It can compile a given template file and generate a PHP script with code that generates the output taking the template parameters and replacing them in the respective template mark positions.

The output of the compiled templates is stored in cache files to prevent recompilation time overhead. It can recompile template files only if they changed.

It supports a debug mode to provide more information when template processing fails due to a syntax error or some other reason.

Picture of Jin Nguyen
  Performance   Level  

 

Recommendations

What is the best PHP landing page creation class?
Create new PHP landing pages on the fly

Details

Puja

Puja is a lightweight, flexible and easy PHP template engine. Inspired in django, Puja also support validate template syntax!

<strong>Some of Puja's features</strong>: * <strong>VALIDATE TEMPLATE SYNTAX</strong> * it is extremely fast * no template parsing overhead, only compiles once. * it is smart about recompiling only the template files that have changed. * unlimited nesting of sections, conditionals, etc. * built-in caching of template output.

<strong>Validate syntax:</strong><br /> Puja support validate syntax before the parser run compiler. This will helpfull for you to write template syntax.

Example: file template: index.tpl: <pre> Hello {{ username }, Welcome you go to the very first exmplate of Puja template.</pre>

The result will be: <pre> TemplateSyntaxError: <strong>missing }}</strong> 1. Hello <strong>{{ username </strong>, 2. Welcome you go to the very first exmplate of Puja template.</pre>

Puja only show debug when mode <strong>debug</strong> is enabled<br /> We recommend you should only enable mode <strong>debug</strong> when your app is in develop. And disable it when your app go to production. It will save a lot time to template engine parser. <br /><br /> <strong>Basic API Usage</strong>:<br /> - template file: index.tpl <pre>Hello <strong>{{ username }}</strong>, Welcome you go to the very first exmplate of Puja template.</pre>

  • php file: index.php <pre> &lt;?php require_once '/path/to/puja.php'; $tpl = new Puja; $tpl->tpl_dir = '/path/to/template/folder/'; $data = array( 'username'=>'Jin Nguyen', ); $tpl->parse($template_file = 'index.tpl', $data); ?&gt; </pre>

The result will show: <pre> Hello <strong>Jin Nguyen</strong>, Welcome you go to the very first exmplate of Puja template.</pre>

See <a href="https://github.com/jinnguyen/puja/tree/master/docs/user-guide.md">User's guide</a> for full information.<br />

<strong>Template Inheritance</strong>:<br /> - master.tpl: <pre>==== Start Master === {% block body %}Master Body{% endblock body %} {% block javascript %}Master javascript{% endblock javascript %} ==== End Master ====</pre>

  • index.tpl <pre> {% block javascript %}<strong>Index javascript</strong>{% endblock javascript %} {% block body %}<strong>Index Body</strong>{% endblock body %}</pre>

And the result will be:

<pre>==== Start Master === <strong>Index Body</strong> <strong>Index javascript</strong> ==== End Master ====</pre> <a href="https://github.com/jinnguyen/puja/tree/master/docs">more detail &gt;&gt; </a>

githalytics.com alpha


  Files folder image Files (35)  
File Role Description
Files folder imagedocs (6 files)
Files folder imageexamples (8 files, 1 directory)
Files folder imagesrc (6 files)
Accessible without login Plain text file .buildpath Data Auxiliary data
Accessible without login Plain text file .project Data Auxiliary data
Accessible without login Plain text file LICENSE Doc. Documentation
Plain text file puja.php Class Class source
Accessible without login Plain text file README.md Doc. Documentation

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:415
This week:0
All time:6,453
This week:131Up