The Art of Modern PHP 8
eBook - ePub

The Art of Modern PHP 8

Joseph Edmonds, Lorna Jane Mitchell

Share book
  1. 420 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

The Art of Modern PHP 8

Joseph Edmonds, Lorna Jane Mitchell

Book details
Book preview
Table of contents
Citations

About This Book

Discover how to apply the principles of OOP, types, and package management the right wayKey Features• Explore the latest PHP 8.1 features and modern web development practices• Refactor your legacy codebase using modern features and styles in PHP• Create your own Composer packages that can be reused across all PHP projectsBook DescriptionPHP 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.What you will learn• Understand how to use modern PHP features such as objects, types, and more• Get to grips with PHP package management using Composer• Explore dependency injection for your PHP applications• Find out what the differences are between legacy and modern PHP 8 code and practices• Write clean PHP code and implement design patterns• Get hands-on with modern PHP using examples applying MVC and DI techniquesWho this book is forThe book is for existing PHP developers and CTO-level professionals who are working with PHP technologies, including legacy PHP, in production. The book assumes beginner-level knowledge of PHP programming as well as experience with server-side development.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is The Art of Modern PHP 8 an online PDF/ePUB?
Yes, you can access The Art of Modern PHP 8 by Joseph Edmonds, Lorna Jane Mitchell in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Servicios web y API. We have over one million books available in our catalogue for you to explore.

Information

Year
2021
ISBN
9781800563223

Section 1 – PHP 8 OOP

Object-Oriented Programming (OOP) is a fundamental feature of modern PHP. In this first section, we are going to go over this in detail, starting with the basics and working our way up to more advanced features.
This section contains the following chapters:
  • Chapter 1, Object-Oriented PHP
  • Chapter 2, Inheritance and Composition, Encapsulation and Visibility, Interfaces and Concretions
  • Chapter 3, Advanced OOP Features

Chapter 1: Object-Oriented PHP

In this first part of the book, we are going to explore modern object-oriented PHP. While there isn't sufficient space in this book to do a deep dive into this topic, we hope that you will be able to use the contents of the following three chapters as a jumping point for your own further study and experimentation. To be clear, for any PHP language features you see that you don't understand, you are absolutely encouraged to put the book down and go and start reading the PHP docs so that you can gain a fuller understanding of that particular feature. To underline this, you will see frequent links to the official documentation. You are encouraged to follow these links and read into any feature that you are not intimately familiar with.
Some readers may already be very familiar with object-oriented programming (OOP) in PHP and for those, this first part might be a nice refresher. You never know, you might learn something new! If you are not familiar with modern object-oriented PHP, then there is likely to be a lot to take in. I seriously hope you don't find this overwhelming. All I can say is, it's worth persevering as OOP is fundamental to modern PHP.
This chapter is an introduction to OOP in general and includes a review of some popular object-oriented PHP projects and frameworks that you are encouraged to go and have a look at.
By the end of part 1, especially if you take the time to fill in the gaps by hitting the official docs, you should be fairly up to date with how OOP works in modern PHP.
The following topics will be covered in this chapter:
  • What is OOP?
  • PHP OOP basics
Before we begin this chapter in depth, you are strongly encouraged to have a thorough read through the official documentation on classes and objects:
PHP: Classes and Objects - Manual
https://www.php.net/manual/en/language.oop5.php
In this chapter, we are going to look in general at what we mean by OOP and what it means to you. We'll start by understanding what the phrase OOP actually means and compare it to some other programming styles. I will recommend some PHP projects and packages that you can look at if you want to get your hands dirty with an existing code base. After that, we are going to jump in at the deep end with a look at inheritance, and then also look at using composition instead of inheritance. After that, we'll take a quick look at the Standard PHP Library, have a look at exceptions, and understand how modern PHP projects ensure that they have robust error handling. For the big finale of this chapter, we'll dip our toes in the deep waters of metaprogramming with reflection and attributes. It's a huge amount of content to cover in a comparatively tiny amount of text.
For this chapter, and all the other chapters in the book, you can find all the code samples in the main repo for the book available on GitHub at https://github.com/PacktPublishing/The-Art-of-Modern-PHP-8

What is OOP?

If you don't really know what OOP even means, then this section is for you! We're going to take a step back and start right from the beginning to try to understand the meaning of the phrase, then try to understand OOP as compared to other programming styles, and finally, have a quick tour of some modern object-oriented PHP packages and projects.
So, let's get started with looking at what OOP really means.

Understanding the phrase

OOP stands for object-oriented programming. It sounds like one of ...

Table of contents