per

perroquet

Compile perroquet template files into pure PHP files

Showing:

Popularity

Downloads/wk

1

Maintenance

No Maintenance Data Available

Package

Dependencies

0

Size (min+gzip)

1.2KB

License

Apache-2.0

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Build Status

     ____                                      _   
    |  _ \ ___ _ __ _ __ ___   __ _ _   _  ___| |_ 
    | |_) / _ \ '__| '__/ _ \ / _` | | | |/ _ \ __|
    |  __/  __/ |  | | | (_) | (_| | |_| |  __/ |_ 
    |_|   \___|_|  |_|  \___/ \__, |\__,_|\___|\__|
                                 |_| 

Perroquet is a small template engine that compiles into PHP. It's compiled into raw PHP files that you can run in your PHP server.

Usage

var php_code = perroquet('Hi my name is {{$name}}');
// php code = 'Hi my name is <?php echo $name; ?>'

List of template codes

Template codeGenerated php code
{{$variable}}<?php echo $variable; ?>
{{$object.attribute}}<?php echo $object->attribute; ?>
{{$array[key]}}<?php echo $array['key']; ?>
{{$variable = 'value'}}<?php $variable = 'value'; ?>
{{$array as $value}}<?php foreach ($array as $value) {
{{$array as $key => $value}}<?php foreach ($array as $key => $value) {
{{function() as $value}}<?php foreach (function() as $value) { ?>
{{=date(..)}}<?php echo date(..); ?>
{{#variable}}<?php echo htmlentities($variable, ENT_COMPAT, 'utf-8'); ?>
{{url $img}}<?php echo rawurlencode($img); ?>
{{>path}}<?php include 'path'; ?>
{{?variable}}<?php if (!empty($variable)) { ?>
{{!variable}}<?php if (empty($variable)) { ?>
{{?variable1 && !variable2}}<?php if (!empty($variable1) && empty($variable2)) ?>
{{if condition}}<?php if (condition) { ?>
{{elseif condition}}<?php else if (condition) { ?>
{{else}}<?php } else { ?>
{{for $i = 0; $i < 9; $i++}}<?php for ($i = 0; $i < 9; $i++) { ?>
{{while condition}}<?php while (condition) { ?>
{{/}}<?php } ?>
{{switch condition}}<?php switch (condition) { ?>
{{case 'awesome'}}<?php case 'awesome': ?>
{{bcase 'awesome'}}<?php break; case 'awesome': ?>
{{default}}<?php break; default: ?>
{{break}}<?php break; ?>
{{pr $variable}}<pre><?php print_r($variable); ?></pre>
{{js $variable}}<?php echo json_encode($variable); ?>
{{esc}} my escaped {{$code}} {{/esc}}my escaped {{$code}}

Custom functions

You can add custom functions to the compiler:

var php_code = perroquet('Today is the {{date Y-m-d}}', {
    date: function (format) {
        // format = 'Y-m-d'
        return '<?php echo date(\''+format.replace(/'/g, '\\\'')+'\'); ?>';
    }
});

Custom delimiters

You can change the default {{..}} delimiters with the third parameter of perroquet(code, custom_functions, custom_regex). For example:

var php_code = perroquet('Hi my name is --#name--', null, /--(.*?)--/g);

To suggest a feature, report a bug, or general discussion: http://github.com/blunt1337/perroquet/issues/

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100