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)
1
Section 1 – PHP 8 OOP
Free Chapter
2
Chapter 1: Object-Oriented PHP
5
Section 2 – PHP Types
7
Chapter 5: Object Types, Interfaces, and Unions
9
Section 3 – Clean PHP 8 Patterns and Style
13
Section 4 – PHP 8 Composer Package Management (and PHP 8.1)
16
Section 5 – Bonus Section - PHP 8.1

Resources

Resources are the weird kid in the corner of the PHP types party. Maybe you can relate?

If you call gettype on a resource, you will get null. This is because they are a bit special. They are like wormholes into the dimension beyond the realms of PHP. All we know is they exist, but what goes on beyond their event horizon we can only speculate…

Resources that you are likely to have already come across on a regular basis are file pointers when using fopen and database connections. There are in fact numerous resources that you can open in PHP and you can read all about them in the manual:

PHP: List of Resource Types - Manual

https://www.php.net/manual/en/resource.php

The good news is that in PHP 8, the resource types are gradually being hunted down and replaced with more useful types – namely objects. Already, the curl_init function now returns a CurlHandle class. You still can't really get anything useful from it, but you can at least do bas...