Book Image

The Art of Modern PHP 8

By : Joseph Edmonds
5 (1)
Book Image

The Art of Modern PHP 8

5 (1)
By: Joseph Edmonds

Overview of this book

PHP has come a long way since its introduction. While the language has evolved with PHP 8, there are still a lot of websites running on a version of PHP that is no longer supported. If you are a PHP developer working with legacy PHP systems and want to discover the tenants of modern PHP, this is the book for you. The Art of Modern PHP 8 walks you through the latest PHP features and language concepts. The book helps you upgrade your knowledge of PHP programming and practices. Starting with object-oriented programming (OOP) in PHP and related language features, you'll work through modern programming techniques such as inheritance, understand how it contrasts with composition, and finally look at more advanced language features. You'll learn about the MVC pattern by developing your own MVC system and advance to understanding what a DI container does by building a toy DI container. The book gives you an overview of Composer and how to use it to create reusable PHP packages. You’ll also find techniques for deploying these packages to package libraries for other developers to explore. By the end of this PHP book, you'll have equipped yourself with modern server-side programming techniques using the latest versions of PHP.
Table of Contents (19 chapters)
Section 1 – PHP 8 OOP
Free Chapter
Chapter 1: Object-Oriented PHP
Section 2 – PHP Types
Chapter 5: Object Types, Interfaces, and Unions
Section 3 – Clean PHP 8 Patterns and Style
Section 4 – PHP 8 Composer Package Management (and PHP 8.1)
Section 5 – Bonus Section - PHP 8.1

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The preceding code has shown us the fact that an instance of ChildClass passes as an instance of all of its parent items all the way up the inheritance tree."

A block of code is set as follows:

  "php": ">=7.0.0",
  "egulias/email-validator": "^2.0|^3.1",
  "symfony/polyfill-iconv": "^1.0",
  "symfony/polyfill-mbstring": "^1.0",
  "symfony/polyfill-intl-idn": "^1.10"

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

namespace Book\Part3\Chapter8\ToyMVC\View\Data;
interface TemplateDataInterface

Any command-line input or output is written as follows:

cd /my/project/root/directory
composer init

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: "It's very easy to remove a package from Packagist. Simply click the red Delete button."

Tips or important notes

Appear like this.