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

Restricting controllers by managing end user privileges


Every serious application needs to be able to control access to the logical processes within its framework. Using Phalcon, we can easily create a security system to control access to resources based upon group membership. In this recipe, we will define resources as controller-action pairs, but the primitives of the permission system are general enough that, with a little work, the resources could be broadened to be anything.

In our case, the idea of restricting resources (controller actions) is simple—if a user's group does not have permission to access an action then we will display the message Unauthorized access. Later this could be extended to forward the user to a sign-in page or to an alternative page for that resource.

Getting ready

To use this recipe, you will need to have a project skeleton with a configured Phalcon bootstrapper, Phalcon\Mvc\Router, and three Phalcon\Mvc\Controller. In our example, we will use a project scaffold...