Templating is a common technique for separation of concerns in applications - separating presentational logic from domain (or business) logic. This kind of separation promotes higher maintainability and a better chance to reuse presentational code (by encapsulating it in templates), the kind of traits we would all love to have in our code base.
PHP as a language can be considered a templating system, as in its root it was meant to modify HTML pages dynamically. The need for more structured templating systems arose as PHP applications have grown more and more complex, giving birth to much more specialized and focused solutions.
Smarty is a very powerful template engine for PHP that allows developers to extend its capabilities using custom plug-ins. There are several different types of plug-ins, each of which serves a different purpose. In this article we will look at how the block plug-in type works.
We will first learn how block plug-ins can be used in your templates, and then learn how to create our own. Once we know how to create a block plug-in, we will cover a practical example that will show you how block plug-ins can effectively be used in your own web sites.
I follow the principle that you should test everything that could possibly fail. And I would like to have unit tests for everything; tests that exercise each small behavior in isolation. The components that are easiest to unit test are typically class and methods in plain object-oriented code. Not everything falls into that category, though. Page templates, XSLT and other XML files are some counterexamples.
As I mentioned in my blog post on Paparrazzi testing, Uncle Bob (Robert C. Martin) has discussed how to test web templates or server pages. Since I'm currently working with Smarty templates, I wanted a simple way to run tests on them without needing to deal with a web server and the page navigation in a full web application.
If you're looking for a friendly guide on how to implement the template design pattern with PHP 5, then this group of articles might be what you need. Welcome to the final installment of the series that began with "Working with template classes in PHP 5." As the title indicates, this series steps you through creating template classes in PHP-controlled development environments, and also shows you how to use this rather uncommon pattern in real-world situations.
FlexyFramework, with HTML_Template_Flexy include the ability quickly create multilingual websites, by translating the templates.
Welcome to part two of the series “Separating logic from presentation.” Comprised of three articles, this series walks you through the development of an extensible template processor in PHP 5, which you might find quite useful for separating the logic of your PHP applications from their visual presentation.
What is caching?
Caching is used to speed up a call to display() or fetch() by saving its output to a file. If a cached version of the call is available, that is displayed instead of regenerating the output. Caching can speed things up tremendously, especially templates with longer computation times. Since the output of display() or fetch() is cached, one cache file could conceivably be made up of several template files, config files, etc.
PHP has historically been a simple scripting language used for quickly developing small web sites with dynamic content. But newer features have given the language the structure and libraries for building larger applications. One such library is Smarty, a templating and presentation engine. Smarty helps developers build applications in modules by separating the presentation layer from the application code. This article covers some of the basic features of Smarty for developers.
Many people think of the Smarty Template Engine as a system for separating presentation from application logic. This is indeed true, but many people also only consider Smarty for outputting their web site HTML/XHTML. This brief article goes over other situations where Smarty may be useful in your PHP application.
First, we go over how Smarty can be used for managing emails that your site sends out, then we go over other situations where it may be useful to use Smarty.
Whether you design websites for a living or just for fun, PHP can be a powerful tool. For those unfamiliar with it, PHP is a programming language that has made its mark primarily as a scripting tool for generating dynamic Web content. In addition to its ability to create interactive Web pages, PHP can be a useful time-saver when used to create a templating system for websites.
PHP templating can be done using one of three general methods: pulling the template into your content, pulling your content into the template, or pulling both content and templating into and single file. Even if you are a complete novice to programming, just a few short snippets of code can make your development life easier.