News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Matthew Weir O'Phinney's Blog:
Cgiapp2 Tutorial 1 - Switch Template Plugins at Will
June 06, 2006 @ 05:47:28

Right on the tails of a new release of the Cgiapp set of libraries, Matthew Weir O'Phinney has posted a first tutorial in a series covering its usage. In this tutorial, he looks at a creating a "template switcher" for Cgiapp2-based applications.

Cgiapp2 implements a new callback hook system, which is basically an Observer pattern. Cgiapp2 has a number of registered hooks to which observers can attach; when a hook is triggered, each observer attached to it is notified and executed.

Why all this talk about hooks? Because in Cgiapp2, the various template actions -- initialization, variable assignment, and rendering -- are relegated to hooks. For simplicity's sake, and for backward compatibility, you can use the functions tmpl_path(), tmpl_assign(), and load_tmpl() to invoke them; you could also use the generic call_hook() method to do so, passing the hook name as the first argument.

To make it simpler for developers to access this templating system, Matthew created the Cgiapp2_Plugin_Template_Interface, a standardized interface for the template plugins. It's this interface that he demonstrated an example of, giving only a few lines of code (all that's needed) to switch between Smarty and Savant templating systems.

0 comments voice your opinion now!
tutorial cgiapp2 template switch plugin interface tutorial cgiapp2 template switch plugin interface


blog comments powered by Disqus

Similar Posts

DevShed: Implementing the Stage Pattern in PHP 5

PHP-Tools Blog: Der Zauberlehrling - Sorcerer's Apprentice

Zend Developer Zone: Creating Template-Based Applications with HTML_Template_Flexy

Mike\'s Blog: s/fluent/decorated

ZetaCode.com: PHP GTK tutorial


Community Events





Don't see your event here?
Let us know!


bugfix opinion zendserver introduction symfony install interview voicesoftheelephpant laravel series package library api community podcast language release deployment unittest framework

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework