English | Oct. 5, 2017 | ISBN: 1785882813 | 753 Pages | PDF | 18 MB
Leverage the newest tools available in PHP 7 to build scalable applications.
This comprehensive guide is filled with practical examples that simplify the understanding of advanced PHP programming concepts.
Increase confidence in your team's codebase through the use of automated unit and functional tests, thanks to Test Driven Development and Behavior Driven Development tools such as PHPUnit and Behat.
PHP is a server-side scripting language that is widely used for web development. It provides maximum efficiency and superior security features, two of the many reasons that makes it one of the most popular programming languages in the world.
With this book, you will get a deep understanding of the advanced programming concepts in PHP and how to apply it practically. This is a comprehensive guide that focuses on some cutting-edge topics in PHP.
The book starts by unveiling the new features of PHP 7 and walks you through the SOLID programming principles that will help you design and create awesome object APIs. You will master automated dependency injection after building an example injector from scratch. The book will teach you how to implement aspect-oriented programming concepts to separate out cross-cutting concerns and increase modularity. You will learn to employ websockets, messaging queues, asynchronous, non-blocking techniques, and reactive programming to build amazing real-time applications in PHP.
The book then covers the usage of Event Sourcing and Command Query Responsibility Segregation (CQRS) to realize an event-driven REST-based microservice architecture-a powerful approach to building modern, scalable applications. Finally, you will learn the best ways of testing your code in PHP through the use of automated unit tests and functional tests.
By the end of the book, you will create amazing, reliable, and robust PHP applications.
What you will learn
Get to know object-oriented SOLID principles with PHP
Perform event sourcing and CQRS in a Microservice architecture
Increase modularity with Aspect Oriented Programming
Event-driven programming with Websockets
Perform Unit testing and Continuous Integration with Travis CI
Run regression and functional tests in the browser with Behat, Mink, and Selenium