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
How to Deploy With Deployer
Automated workflow for deployment is a great tool that every software development team must have. The release process, when it is fast, secure and fault tolerant, can save time for developing more great things. And the good news that there are many great tools for creating an automated release cycle.
PHP 7.2.0 Released
The PHP development team announces the immediate availability of PHP 7.2.0. This release marks the second feature update to the PHP 7 series.
​​We are 300, my friends. Thank you.
Adding a GraphQL API to your Symfony Flex application
I've been using GraphQL for some API thingamajigs, and it's been working fine. Now with Symfony 4 out, I figured a write-up on how to use GraphQL with Symfony Flex could be useful for someone.
We'll expand on a previous demo app that I built. That app already uses Doctrine ORM as storage, so let's bridge that to a GraphQL API.
​​ReactPHP PromiseStream: From Promise To Stream And Vice Versa
One of the patterns that are used to deal with streams is spooling: we need the entire resource data available before we start processing it. One approach is to collect each chunk of data received from the stream:
PHP-FPM tuning: Using β€˜pm static’ for Max Performance
Let’s take a very quick look at how best to set up PHP-FPM for high throughput, low latency, and a more stable use of CPU and memory. By default, most setups have PHP-FPM’s PM (process manager) string set to dynamic and there’s also the common advice to use ondemand if you suffer from available memory issues.
Case Study: Optimizing CommonMark Markdown Parser with Blackfire.io
This last goal is perhaps the most challenging, especially from a performance perspective. Other popular Markdown parsers are built using single classes with massive regex functions. As you can see from this benchmark, it makes them lightning fast:
​​Keeping your code clean
I settled down in my sit, cranking the solution with my team members. β€œWe must win this” I said, burying myself deep down to develop a working prototype within the given two daysβ€Šβ€”β€ŠThe competitive nature in every human had just been ignited and guys must simply compete for 1st, 2nd, and 3rd place.
​​Happy New Year my friends.
How to Optimize Docker-based CI Runners with Shared Package Caches
At Unleashed Technologies we use Gitlab CI with Docker runners for our continuous integration testing. We’ve put significant effort into speeding up the build execution speeds. One of the optimizations we made was to share a cache volume across all the CI jobs, allowing them to share files like package download caches.
How to Optimize SQL Queries for Faster Sites
You know that a fast site == happier users, improved ranking from Google, and increased conversions. Maybe you even think your WordPress site is as fast as it can be: you’ve looked at site performance, from the best practices of setting up a server, to troubleshooting slow code, and offloading your images to a CDN, but is that everything?
​​Databases Backups with Laravel Zero
An essential part of any application’s deployment into a live, production environment, is a suitable backup for your persistence layer. Depending on your application, this can include your database, file storage, cache etc.
Ceed does not use file storage, and since the cache only stores an in-memory copy of database records, its loss is not critical. It can simply be repopulated. As a result, the only item requiring backup, is the database.
Deploy your Laravel Forge sites with your voice
Let me show you, how you can create your own Amazon Alexa skill to have a voice powered deployment system for Laravel Forge.
​​Laravel Model Caching
You’ve probably cached some model data in the controller before, but I am going to show you a Laravel model caching technique that’s a little more granular using Active Record models.
Composer Local Packages for Dummies
This is the simplest way to start using /packages directory in your application, that leads to cleaner code, maintainable architecture and is the best to start testing.
​​This is not the DRY you are looking for
Something went terribly wrong. We took an insightful principle about knowledge management and turned it into code nonsense.
​​Mock external services using a Guzzle snapshot client
The Snapshot testing strategy allows you to compare some data with a previous version to avoid regression.
​​The 2018 Web Developer Roadmap
Want to learn to code? There is no better time to start than right now. Below is an illustrated roadmap focussed on how to become a developer in 2018. Don’t let these illustrations scare you. You by no means need to understand everything on this map to become a stellar developer. In fact, you don’t even need to take them that seriously if you don’t want to to. Instead, use these maps as a starting point to help guide your learning as you go.
​​Welcome Amazing PHP group
This is a group of who love PHP. Here you can share new articles or useful libraries, ask questions related with PHP and just have fun.
The DRY principle misunderstood
I know what you are thinking: "Again a boring article on DRY? Don't we have enough already?".

You might be right. However I see too many developers (junior or senior) applying DRY like they are doing some witch hunting. Totally randomly or everywhere they can.
Factory as a Service
Dependency Injection Containers are a great invention - when used the right way, they allow us to keep our factories and assembly logic of services outside the core business logic of our application.