Smarty PHP Template Programming and Applications

Smarty PHP Template Programming and Applications

Paperback

By (author) Hasin Hayder, By (author) Joao Prado Maia, By (author) Lucian Gheorge

USD$37.90
List price $39.05
You save $1.15 (2%)

Free delivery worldwide
Available
Dispatched in 3 business days
When will my order arrive?

  • Publisher: Packt Publishing Limited
  • Format: Paperback | 256 pages
  • Dimensions: 190mm x 230mm x 24mm | 499g
  • Publication date: 30 March 2006
  • Publication City/Country: Birmingham
  • ISBN 10: 190481140X
  • ISBN 13: 9781904811404
  • Illustrations note: black & white illustrations
  • Sales rank: 920,616

Product description

Using a step-by-step approach based on realistic examples, the expert authors show you how to use Smarty in your own PHP development. This book is written for PHP developers who want to use Smarty templates in their development, and for designers who are working with PHP developers who are using Smarty.

Other books in this category

Showing items 1 to 11 of 11
Categories:

Author information

Hasin Hayder graduated in Civil Engineering from the Rajshahi University of Engineering and Technology (RUET) in Bangladesh. He is a Zend-certified Engineer and expert in developing localized applications. He is currently working as a Technical Director in Trippert Labs and managing the local branch in Bangladesh. Beside his full time job, Hasin writes his blog at http://hasin.wordpress.com, writes article in different websites and maintains his open source framework Orchid at http://orchid.phpxperts.net. Hasin lives in Bangladesh with his wife Ayesha and his son, Afif. Joao Prado Maia is Lead Software Developer with Alert Logic, Inc. and was previously with MySQL AB as the lead developer behind Eventum, an issue tracking system, and MySQL Network, a subscription product for everything related to MySQL services. He has been working with PHP, Smarty, and PEAR for several years, and maintains phpbrasil.com, one of the most popular PHP-related community sites in Brazil. He is also interested in fostering a community of PHP developers in Houston by organizing the Houston PHP Users Group at http://www.houstonphp.org. Lucian Gheorghe has just joined the Global NOC of Interoute, Europe's largest voice and data network provider. Before Interoute, he was working as a senior network engineer for Globtel Internet, a significant Internet and Telephony Services Provider to the Romanian market He has been working with Linux for more than 8 years putting a strong accent on security for protecting vital data from hackers and ensuring good quality services for internet customers. Moving to VoIP services he had to focus even more on security as sensitive billing data is most often stored on servers with public IP addresses. He has been studying QoS implementations on Linux to build different types of services for IP customers and also to deliver good quality for them and for VoIP over the public internet. Lucian has also been programming with Perl, PHP and Smarty for over 5 years mostly developing in-house management interfaces for IP and VoIP services.

Table of contents

Preface Chapter 1: Introduction to Smarty Chapter 2: Smarty Site Architecture Chapter 3: What Designers Need to Know Chapter 4: Creating a Template Chapter 5: Advanced Templating Chapter 6: Smarty Functions Chapter 7: Debugging for Designers Chapter 8: Built-in Smarty Variables and Methods Chapter 9: Caching and Performance Chapter 10: Extending Smarty with Plug-ins Chapter 11: Filters Chapter 12: Internationalization Index * Preface Up * Chapter 1: Introduction to Smarty o Templating Systems + Why Use a Templating System? + The Smartness of Smarty + Smarty Alternatives o A Rough Guide to the Software Design Process + Working in Teams: Layers and Separation of Concerns o Smarty The Ultimate Templating System for PHP + Is Smarty Fast? + Is Smarty Secure? o Smarty's Main Features + Variable Modifiers + Template Functions + Debugging + Plugins + Filters o Smarty Internals o Installing and Configuring Smarty + Step 1: Obtaining Smarty + Step 2: Configure PHP to Find the Smarty Libraries # On Windows # On Linux + An Alternative to Step 2: Using Smarty without Having Full Access to the System + Step 3: Set Up Smarty for Your Application + Step 4: Verifying the Installation + Smarty Development Versions on CVS o Upgrading a Smarty Site o Summary Up * Chapter 2: Smarty Site Architecture o Separation of Concerns + What Does Concern Mean? + A Problem-Solving Perspective + Cross-cutting Concerns o Roles Involved in Building and Maintaining a Website o Starting a Smarty Project + Directory Structure + Securing our Smarty Project + The Data Access Layer # How it Works + The Business Logic Layer # How it Works + The Presentation Layer # How it Works + The Result o Summary Up * Chapter 3: What Designers Need to Know o Development Team Problems: Common Scenarios o Roles of a Template Designer and a Programmer o Definitions and Concepts for Designers + Concept of Reusability and Components + Splitting into Components + How to Design Table-less Layouts? + Handy Built-in Tags o Choosing an Editor for Template Design o Collaborating with Programmers o Summary Up * Chapter 4: Creating a Template o Design Concepts, from HTML to TPL o Introduction to Smarty Variables o Starting Templates + Nonassociative Array + Associative Array + Passing Arrays to Smarty Templates and Manipulating Them o Basic Templating + Logical Conditions + Loops # section # foreach o Templates in the Real World + Calendar + Database Report + Data Input Forms + Email Newsletter + Running PHP Code Inside your Templates o Summary Up * Chapter 5: Advanced Templating o Smarty under the Hood + Compile Steps + Prefilters and Postfilters + What is a Smarty Modifier? o Stretch your Imagination with Smarty + Student Transcript + Photo Gallery o Available Modifiers + capitalize + count_characters + cat + count_paragraphs + count_words + date_format + default + escape + indent + lower + upper + nl2br + regex_replace + replace + spacify + string_format + strip + strip_tags + truncate + wordwrap o Combining Modifiers o Configuration Files o Summary Up * Chapter 6: Smarty Functions o Types of Smarty Functions o Functions in Action + Action: Re-using Page Elements with the include Function + Explanation * Inserting Dynamic Content * Passing Variables to Included Templates * Saving Variables in Configuration Files * Creating Configuration Sections for Each Page * Handling Lists in Templates * Removing Extra White Space from Templates * Handling JavaScript Code in Templates * Processing Deeply Nested Arrays * Cycling Through a List of Values * Avoiding Spam Indexers * Form-Related Functions * More Form-Related Functions * Summary Up * Chapter 7: Debugging for Designers o Debugging Smarty Templates o Semantic Errors o Common Smarty Errors o Other Common Smarty Errors o Smarty Debug Console o Summary Up * Chapter 8: Built-in Smarty Variables and Methods o Built-in Smarty Variables + $template_dir + $compile_dir + $config_dir + $plugins_dir + $debugging + $error_reporting + $debug_tpl + $debugging_ctrl + $compile_check + $force_compile + $caching + $cache_dir + $cache_lifetime + $cache_modified_check + $php_handling + $security + $secure_dir + $security_settings + $trusted_dir + $left_delimiter + $right_delimiter + $request_vars_order + $request_use_auto_globals + $compile_id + $use_sub_dirs + $default_modifiers + $default_resource_type + $cache_handler_func + $autoload_filters + $config_overwrite + $config_booleanize + $config_read_hidden + $config_fix_newlines + $default_template_handler_func + $compiler_file + $compiler_class + $config_class o Handy Built-in Smarty Variables Table * Built-in Smarty Methods o assign o assign_by_ref o Example: Working of assign and assign_by_ref o append o append_by_ref o clear_assign o register_function o unregister_function o register_object o unregister_object o register_block o unregister_block o register_compiler_function o unregister_compiler_function o register_modifier o unregister_modifier o register_resource o unregister_resource o register_prefilter o unregister_prefilter o register_postfilter o unregister_postfilter o register_outputfilter o unregister_outputfilter o load_filter o clear_cache o clear_all_cache o is_cached o clear_all_assign o clear_compiled_tpl o template_exists o get_template_vars o get_config_vars o trigger_error o display o fetch o config_load o get_registered_object o clear_config * Summary Up * Chapter 9: Caching and Performance o Caching in Smarty o Dynamically Caching Template Sections o Clearing the Cache o Advanced Caching Features o Using Cache Groups o Clearing a Cache Group o Avoiding the Cache o Creating a Custom Cache Handler o Optimizing Smarty Applications o Profiling PHP o Designing Sites for Effective Caching + The LastModified and ETag Headers + The Expires Header + The CacheControl Header * Tools: ApacheBench (ab) * Tools: Xdebug * Tools: WinCacheGrind * Summary Up * Chapter 10: Extending Smarty with Plug-ins o Finding and Installing Plug-ins o Useful Plug-ins + HTML List Plug-in + File Size Format Plug-in + Google Highlight Plug-in o Writing your own Plug-ins o Plug-in Types + Functions + Modifiers + Block Functions + Compiler Functions + Prefilters, Postfilters, and Output Filters + Resources + Inserts o Registering Plug-ins o Example Plug-in: Calendar o Example Plug-in: Auto-link URLs o Summary Up * Chapter 11: Filters o Prefilters o Postfilters o Output Filters o Creating Filters o Registering a Filter at Run Time o Manually Loading a Filter o Automatically Loading a Filter o Filter #1: Remove HTML Comments o Filter #2: Benchmark Information o Filter #3: Compress Output with gzip o Filter #4: Search Engine Highlight o Summary Up * Chapter 12: Internationalization o Translation Infrastructure: Gettext o Configuring PHP with Gettext o Simple PHP Example o Setting Up the Gettext Files o Using Gettext with Smarty o Generating a PO File o Advanced Features of Smarty Gettext o Summary Up * Index