Absint PHP Template Engine Trait: Trait to render templates from inside any class

Recommend this page to a friend!
  Info   View files Example   View files View files (9)   DownloadInstall with Composer Download .zip   Reputation   Support forum (3)   Blog (1)    
Last Updated Ratings Unique User Downloads Download Rankings
2021-01-08 (11 days ago) RSS 2.0 feedNot yet rated by the usersTotal: 45 This week: 3All time: 9,965 This week: 77Up
Version License PHP version Categories
absint 1.0Freeware7Templates, PHP 7, Traits
Description Author

This package provides a trait to render templates from inside any class.

It implements a template engine in a trait that can parse a template given string and replace template marks by given variables values or values of variables of the class.

The trait can accept a given file as a template and bind a custom function to the replacement process.

Picture of wim niemans
  Performance   Level  
Name: wim niemans <contact>
Classes: 4 packages by
Country: The Netherlands The Netherlands
Age: 70
All time rank: 374994 in The Netherlands The Netherlands
Week rank: 82 Up5 in The Netherlands The Netherlands Up
Innovation award
Innovation award
Nominee: 2x

Details

Absolute Small Intelligent Native Templating

Absint adds a template engine to your objects with just a few PHP lines. The PHP trait can access basic template functions from inside the Class.

Use the trait to have your objects render themselves or as a replacement for __toString. Bind the replacement functions at runtime with a custom function. Cut & paste some extended functions, or use the supplied extra class Absinter to act as a template engine on its own.

The basics.

The method parse(text, vars) accepts a template text and replacement variables. The method bind(function) allows for a function to be bound on runtime replacement, i.e. htmlspecialchars and such. The method getPublicVars(object) retrieves the public members of the Class and adds them to the known variables.

Extended.

The method render accepts an external file by name and calls parse. The method display accepts an external PHP file by name, calls render and evaluates securely using eval() the results.

Class.

An Absinter class is also available to act as a template class on its own. It uses the Absint Trait and can memorise the replacements variables: method set(key, value). It contains an additional method tie(object) which takes the public members of the object and adds them to the collection of variables.

Function.

An absintf() function is also provided that does almost the same as the absint->parse method. It's a substitute for PHP native functions like sprintf() and vsprintf(). For people that love minimal tech or dislike a class.

Precedence.

Three versions of replacement variables are possible: (1) as an argument to the method calls, (2) the public members, and (3) the memorising version by using the method set (class only). Precedence is (1) - (3) - (2). This means that (2) cannot overwrite (3) cannot overwrite (1). Please note that (3) is not existing in the trait; only in the class.

Test.

A simple test (1.php) is available to check the behaviour of the PHP function get_object_vars($object).

This package is meant to study or trial. It is free. Be inspired by it. Share your thoughts, ideas, usage(s) on the forum.

  Files folder image Files  
File Role Description
Files folder imageextended (2 files)
Plain text file absint.trait.php Class PHP trait
Plain text file Absinter.class.php Class PHP class
Plain text file absintf.function.php Aux. absintf function
Plain text file demo.1.php Example demo trait usage
Plain text file demo.2.php Example demo class usage
Plain text file readme.md Doc. explanation
Plain text file 1.php Aux. test get_object_vars

  Files folder image Files  /  extended  
File Role Description
  Plain text file absint.display.inc.php Class extension 'display'
  Plain text file absint.render.inc.php Class extension 'render'

 Version Control Unique User Downloads Download Rankings  
 0%
Total:45
This week:3
All time:9,965
This week:77Up

For more information send a message to info at phpclasses dot org.