PHP 8.3 Update
- A brand new chapter on PHP 8.3
- Updates to existing chapters
- Free for everyone who already bought the course
Subscribe now and get a video on a modern feature every day: learn about enums, readonly properties, and much more.
An ebook on cutting edge tactics in PHP 8.3, accompanied by videos and practical examples.
Brought to you by open source veterans Brent Roose, and Freek Van der Herten from Spatie.
Foreword
By Roman Pronskiy from JetBrains
PHP has changed the world. More than 5 million developers are now using this language worldwide to create a variety of applications. But the world is changing PHP as well. Rasmus Lerdorf, the creator of the language, once noted that a good solution should steal/borrow existing technology
. And this is true. PHP takes the best ideas from other ecosystems and improves on them.
It's been 5 years since the release of PHP 7.0. In this time, as the community has matured and needed new features, the language team has been listening to the community and implementing the features. This is what has led PHP to introduce stricter typing, more concise syntax, static analyzers, etc.
It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.
- Leon C. Megginson’s interpretation of Darwin’s ideas is an insight that guides PHP year after year.
I was still in school when I first saw PHP, and at the time I had no idea that I would go on to work with it professionally. Back then, in 2004, the main problem the internet had was searching for information. Today, because so much information is readily available, the problem is not searching information but filtering and identifying what is useful. It is, to lean on an old cliché, like looking for a $needle in a $haystack – or was it the other way around? Anyway, how do we dig up the really valuable things in these endless feeds mixed with ads and notifications?
It's impossible to give a comprehensive answer for all areas, but for PHP the answer is here – Front Line PHP.
This book gives a core of knowledge about everything that concerns the PHP’s development today and in the near future. This is not a paraphrase of documentation, but rather a thoughtful and meaningful development experience in short and clear formulations. It offers a fresh look at the newest features of the language, as well as at some that are already familiar.
Writing quality code in PHP has simultaneously become both easier and more complicated. On the one hand, there are many new features and tools at a developer's disposal. On the other hand, you need to juggle them elegantly in order to solve real problems beautifully and easily.
That’s what this book is really about. Complex things in simple words. How to apply them. Principles and practices. It is a fishing rod, in a sea full of fish.
There has never been a better time to work with PHP. And this book is one of the best ways to learn it.
I hope you enjoy it!
Roman Pronskiy
Table of contents
Part I
PHP, the Language
- PHP Today
- New Versions
- PHP's Type System
- Static Analysis
- Property Promotion
- Readonly Properties 8.1
- Named Arguments
- Attributes
- Enums 8.1
- Short Closures
- First-Class Callables 8.1
- Working With Arrays
- Match
- New in Initializers 8.1
Part II
Building With PHP
- Object Oriented PHP
- MVC Frameworks
- Dependency Injection
- Collections
- Testing
- Style guide
Part III
PHP In Depth
- The JIT
- Preloading
- FFI
- Internals
- Type Variance
- Async PHP
- Fibers 8.1
- Event driven development
- Static Analysers in Practice
- PHP 8.2
- PHP 8.3 New
- Cheat Sheet
Free videos
New features in PHP 8
Getting started with PHP 8
New Features in PHP 8.1
Related resources
A new video course to learn how to write quality tests in Pest and PHPUnit
testing-laravel.com
Learn how to implement Event Sourcing in large Laravel applications in this extended course by Brent.
event-sourcing-laravel.com
Learn how to build larger-than-average Laravel applications and maintain them for years to come.
laravel-beyond-crud.com
Watch how to create a Laravel package and become the next package maestro.
laravelpackage.training