11.07.2015 Views

PHP MySQL - Stilson.net

PHP MySQL - Stilson.net

PHP MySQL - Stilson.net

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 19 • TEMPLATING WITH SMARTYwww.it-ebooks.infoAlthough all three solutions resolve the issue, the first is probably the most convenient becauseplacing the CSS in a separate file is common practice anyway. In addition, this solution does not requireyou to modify one of Smarty’s key defaults (the delimiter).CachingData-intensive applications typically require a considerable amount of overhead, often incurred throughcostly data retrieval and processing operations. For web applications, this problem is compounded bythe fact that HTTP is stateless. Thus, for every page request, the same operations will be performedrepeatedly, regardless of whether the data remains unchanged. This problem is further exacerbated bymaking the application available on the world’s largest <strong>net</strong>work. In such an environment, it might notcome as a surprise that much ado has been made regarding how to make web applications run moreefficiently. One particularly powerful solution is also one of the most logical: convert the dynamic pagesinto a static version, rebuilding only when the page content has changed or on a regularly recurringschedule. Smarty offers just such a feature, commonly referred to as page caching. This feature isintroduced in this section, accompanied by a few examples.■ Note Caching differs from compilation in two ways. First, although compilation reduces overhead by convertingthe templates into <strong>PHP</strong> scripts, the actions required for retrieving the data on the logical layer are always executed.Caching reduces overhead on both levels, eliminating the need to repeatedly execute commands on the logicallayer as well as converting the template contents to a static version. Second, compilation is enabled by default,whereas caching must be explicitly turned on by the developer.If you want to use caching, you need to first enable it by setting Smarty’s caching attribute like this:Once enabled, calls to the display() and fetch()methods save the target template’s contents in thetemplate specified by the $cache_dir attribute.406

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!