Book Image

Phalcon Cookbook

By : Serghei Iakovlev, David Schissler
1 (2)
Book Image

Phalcon Cookbook

1 (2)
By: Serghei Iakovlev, David Schissler

Overview of this book

Phalcon is a high-performance PHP framework delivered as a PHP extension. This provides new opportunities for speed and application design, which until recently have been unrealized in the PHP ecosystem. Packed with simple learning exercises, technology prototypes, and real-world usable code, this book will guide you from the beginner and setup stage all the way to advanced usage. You will learn how to avoid niche pitfalls, how to use the command-line developer tools, how to integrate with new web standards, as well as how to set up and customize the MVC application structure. You will see how Phalcon can be used to quickly set up a single file web application as well as a complex multi-module application suitable for long-term projects. Some of the recipes focus on abstract concepts that are vital to get a deep comprehension of Phalcon and others are designed as a vehicle to deliver real-world usable classes and code snippets to solve advanced problems. You’ll start out with basic setup and application structure and then move onto the Phalcon MVC and routing implementation, the power of the ORM and Phalcon Query Language, and Phalcon’s own Volt templating system. Finally, you will move on to caching, security, and optimization.
Table of Contents (17 chapters)
Phalcon Cookbook
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Introduction


In this chapter, we will cover some advanced techniques for improving the reliability and scaling of our Phalcon application. We will create a database timeout plugin that will ensure that our long-running processes are able to continue functioning even after exceeding the database connection timeout duration. This will allow us to use Phalcon for long running CLI scripts. Then we will create a multi-module system that uses the CLI environment to first precompile our Volt templates to increase performance in our web environment as well as increasing security, by making the cache directory read-only for the web server. We will then optimize our PHQL queries by demonstrating three successively faster query implementations and the specific differences between them. Finally, we will use the APC extension to cache model metadata and specific query results to persist beyond the execution of a single process and dramatically speed up our application in the process.