Amazing PHP
9.32K subscribers
11 photos
84 links
Welcome to the Amazing PHP Channel! Here you can find a lot of interesting articles/news about PHP, frameworks, tools and development.

Support the channel: https://www.paypal.com/donate?hosted_button_id=FAYP5QJH5LVRL
Download Telegram
23 guidelines for writing readable code
Reading someone else's code can be quite confusing. Hours can go on issues that should have been fixed in minutes. In this article, I would like to share some advice on how to write code that will be easier to understand and maintain.
How to Improve Your Debugging Skills
All of us write code that breaks at some point. That is part of the development process. When you run into an error, you may feel that you don’t know what to do. However, even the most seasoned developers introduce errors and bugs that break their code. We are humans after all.
The Five Types of Test Doubles & How to Create Them in PHPUnit
Did you know that a Mock is only one type of a test double? Most of us use the word β€œmock” to mean any kind of test double, but there’s actually five different types. It really can help you understand what you’re trying to accomplish with your test if you know a little bit more what you’re doing with your test doubles, so this article will explain the kinds of test doubles, when you use them, how you use them and why.
Multi-user Authentication Using Guards in Laravel 5.6
User authentication in laravel is pretty much easy. Laravel ships with user authentication scaffolding out of the box. But how can we implement a multi user authentication? Let’s look into multi-user authentication using laravel guards.
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together
Fundamental blocks of the system
I start by recalling EBI and Ports & Adapters architectures. Both of them make an explicit separation of what code is internal to the application, what is external, and what is used for connecting internal and external code.
​​How I comment my code
Dynamic relationships in Laravel using subqueries
Developers are typically pretty good at the first goal. We're aware of N+1 style problems, and use techniques like eager-loading to limit database queries. However, we're not always the best at the second goalβ€”keeping memory usage down. In fact, we sometimes do more harm than good trying to reduce database queries at the expense of memory usage.

Let me explain how this happens, and what you can do to satisfy both goals in your app.
Laravel features you may not know about
Here are some features from Laravel that you may not be aware of. They're not exactly anything advanced or hidden, but I don't really notice that these functions get used or referenced very often. (Maybe they are though, and I've just not noticed it.)
PSR-18: The PHP standard for HTTP clients
A couple of days ago, the PHP Framework Interoperability Group (PHP-FIG) approved the PSR-18 β€œHTTP Client” standard. This standard was the last missing piece to build applications that need to send HTTP requests to a server in an HTTP client agnostic way.
Better array parameter handling in PHP
Handling array parameters in PHP can be kind of a pain since you can't be sure about the shape of the array. Gladly there a way to make handling such parameters way easier.

If you've ever worked with array parameters in PHP you might feel familiar with something like this:
​​What’s New in PhpStorm 2018.3
- Doctrine Query Language
- PHP 7.3 Support
- PHPDoc Improvements
- Remote Deployment To Multiple Hosts
PHP 7.3.0 Release Announcement
The PHP development team announces the immediate availability of PHP 7.3.0. This release marks the third feature update to the PHP 7 series.
Migrating to password_verify
I’ve recently been updating a website that was written a long time ago that has not been touched in a meaningful way in many years. In addition to the actual work I was asked to do, I took the opportunity to update the password hashing routines.
PHPStorm Tips in 9 Gifs
Instead of watching the 45-min talk, enjoy 9 cherry picked tips in 4,5-min gifs. I've dropped a few of my own daily habits. Enjoy!
Useful and interesting service is looking for beta users
Candum is a platform that enables you to easily test and monitor your website’s health. We'll give you 30% OFF if you join us.
​​Good Engineering Practices while Working Solo
When you’ve got to go it alone, how do you make the most out of it?

Most developers work as part of a team. However, at some point in our careers, we’ve had to (or we’ll have to) work alone. And while much of product development involves being able to manage or work with the rest of the team, it’s equally as important to develop good practices while working solo.
New in PHP 7.4
PHP 7.4 will probably be released somewhere December 2019. This page will receive regular updates meanwhile. Last update was January 14, 2019
Semantic Versioning - why you should care
While recording the videos for my upcoming PHP Package Development videos, I know that I wanted to cover semantic versioning and explain it in-depth. So rather than only having a video available, once the course is available in the next couple months, I also wanted to provide an extensive write-up on the topic.
Tips to Speed up Your PHPUnit Tests
Having a fast test suite can be just as important as having a fast application. As a developer, getting feedback quickly about the state of your code allows for a much quicker development turnaround. Here we are going to run through some tips you can implement today to make your tests run faster.