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

Creating a Ratchet Websocket server


The Websockets API allows for an entirely new type of web application that until recently was only possible with a normal system application or by using the flash browser plugin. In essence with every communication, the two most important aspects of a Websocket connection between the client and the server are the bidirectional communication and the elimination of the need to transmit HTTP headers on every communication. Previously, when using only web standards (without flash) the only option to retrieve constantly updated content was to long poll the server by looping AJAX requests on a timer.

This approach doesn't scale very well at all due to the overhead of the web server request handling, spinning up a PHP process, handling the routing and authentication, and the HTTP headers that need to be sent for each update. Additionally, developers would need to set an arbitrary delay between AJAX polls and then ultimately, this would cause one of the following...