Skip to content

cobbdb/eta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Eta

A lightweight PHP templating engine designed for rapid prototypes and small-scale web applications.

composer require cobbdb/eta

Latest Stable Version Monthly Downloads License


The symbol for the Greek capital letter eta is H. Eta is often used in math as the symbol for efficiency.

This engine was designed for prototypes and small-scale web applications that need to be developed and deployed quickly with minimal setup. Since Eta does not use custom template tags, projects can be easily turned over to a more robust framework like Cake or Yii in the future.

Installation

  • Copy this file into a directory of your choosing and add the require_once to the file that is using Eta.
  • The default directory for Eta is ./, but may be changed via H::setHome().
  • The default page template for Eta is ./base.view, but this may be changed via H::setBase().

Usage

Here is a simple hello world example:
// index.php
require_once "H.php";
$who = "World";
echo H::render(null, [
    "name" => $who
]);
// base.view
Hello <?= $name ?>!
Example of a template include:
<div id="myWidget">
    <?= H::render("neat/widget.html") ?>
</div>

render(path, [model], [grounded])

Render a template without auto-responding.

Parameters

  • {String} path - Path to the template or null to use the base template.
  • {Array} [model] - Data to inject into the template.
  • {Boolean} [grounded] - False to use a literal path and bypass the home directory.

Returns {String}
Throws {MissingTemplateException}

// The 'grounded' argument can bypass the home directory
$myView = H::render("../my/template.html", [], false);

setHome(path, [remember])

Set a new default views directory.

Paramters

  • {String} path
  • {Boolean} [remember] - True to retain this as the default directory for use with reset().
// Default is the same directory in which eta.php file is placed.
H::setHome("/path/to/my/templates/");

setBase(path)

Set a new default base page template.

Paramters

  • {String} path - Complete path to new base template.
// Default is ./base.view
H::setBase("/path/to/myBase.html");
// Now H::render(null) will use a new base template!

reset()

Reset Eta back to default home directory.

// Use special templates directory temporarily.
H::setHome("../path/to/other/templates/");
H::render("some/newThing.tpl");
H::render("and/another/template.html");
// Now reset home back to default for rest of project!
H::reset();

By Dan Cobb: cobbdb@gmail.com - petitgibier.sytes.net
License: MIT

About

Lightweight PHP templating.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages