Book Image

PHP 7 Programming Blueprints

By : Jose Palala, Martin Helmich
Book Image

PHP 7 Programming Blueprints

By: Jose Palala, Martin Helmich

Overview of this book

When it comes to modern web development, performance is everything. The latest version of PHP has been improvised and updated to make it easier to build for performance, improved engine execution, better memory usage, and a new and extended set of tools. If you’re a web developer, what’s not to love? This guide will show you how to make full use of PHP 7 with a range of practical projects that will not only teach you the principles, but also show you how to put them into practice. It will push and extend your skills, helping you to become a more confident and fluent PHP developer. You’ll find out how to build a social newsletter service, a simple blog with a search capability using Elasticsearch, as well as a chat application. We’ll also show you how to create a RESTful web service, a database class to manage a shopping cart on an e-commerce site and how to build an asynchronous microservice architecture. With further guidance on using reactive extensions in PHP, we’re sure that you’ll find everything you need to take full advantage of PHP 7. So dive in now!
Table of Contents (15 chapters)
PHP 7 Programming Blueprints
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
4
Build a Simple Blog with Search Capability using Elasticsearch

Working with structured data


So far, our custom expression language has only supported very simple variables-numbers and Boolean values. However, in real applications, this is often not so simple. When using an expression language to offer programmable business rules, you will often be working with structured data. For example, consider an e-commerce system in which a back-office user has the possibility to define under which conditions a discount should be offered to a user and what amount of a purchase should be discounted (the following figure shows a hypothetical example of how such a feature might actually look in an application).

Typically, you do not know beforehand how a user is going to use this feature. Using only numerical variables, you'd have to pass a whole set of variables when evaluating the expression, on the off chance that the user might be using one or two of them. Alternatively, you could pass an entire domain object (for example, a PHP object representing a shopping...