Bookmarks tagged with #php.
Show all
Show all
Bootstrapping a Frameworkless PHP Application
A single bootstrap file. A PSR-11 container. No fullstack framework required.
Saved
on: 2026-05-05
Writing Your Own Framework in PHP: Part One | Blog by Dominik Chrástecký
A hands-on intro to building your own PHP framework entirely from scratch — handwritten, with minimal dependencies.
Saved
on: 2026-04-21
PHP Logging with Monolog: A Complete Guide · Dash0
A practical guide to Monolog 3 covering structured logging processors handlers exception logging and OpenTelemetry integration for production PHP applications
Saved
on: 2026-03-25
Why use static closures?
Why use static closures? (Published on March 3, 2026 - Version française)
Saved
on: 2026-03-04
Share Nothing — Do Everything
The title of this article was used as the subtitle for the pthreads extension.
Saved
on: 2025-12-10
Refactoring Legacy: Part 1 - DTO's & Value Objects
Ever opened a codebase where a single JSON payload could arrive in 17 different shapes depending on the phase of the moon?
Over the last few years my contracts have involved working with legacy code in one way or another. Outdated software, missing documentation, inconsistent data structures and the occasional
Saved
on: 2025-11-20
PSR-20 Clocks: Testable Time in PHP
Learn how a ClockInterface helps you decouple time and write stable, testable code.
Saved
on: 2025-09-23
Exploring Coroutines in PHP
Coroutines are functions that pause and resume with state, allowing flexible, bidirectional control flow in PHP.
Saved
on: 2025-07-05
How to Create a RAG Agent with Neuron ADK for PHP
Struggling with RAG? Learn how retrieval work to build intelligent AI agents, then implement your first RAG system with Neuron ADK for PHP
Saved
on: 2025-06-11
Asynchronous Programming in PHP
(Published on June 3, 2025 - Version française)
Saved
on: 2025-06-04
code-atlantic/chophper
PHP utility to handle text truncation within HTML while maintaining full tag structure. Truncate by chars, words, sentences or paragraphs. Optionally finish on whole words/sentences. - code-atlanti...
Saved
on: 2025-05-27
Exploring Concurrent Access Handling
Exploring Concurrent Access Handling (Published on Feb 9, 2025 - Version française)
Saved
on: 2025-02-11
cerbero90/enum
🎲 Zero-dependencies package to supercharge enum functionalities. - cerbero90/enum
Saved
on: 2025-01-13
Off the Beaten Path to Upgrade Symfony 2.8 to 7.2 | Tomas Votruba
There are two types of upgrades. One follows only `UPGRADE.md` files on every release, replacing what has been removed with new alternatives. It works, and we could say that the codebase will be "up-to-date."
The other upgrade doesn't stop at the required minimum but **makes use of all modern features the framework provides**. It will be faster, easier to understand, and easier to upgrade to the next version. I [wrote a post](/blog/two-kinds-of-legacy-code-upgrade) that explains why the latter is better.
There are no sources about Symfony upgrades spanning multiple major versions—time to fix that.
Saved
on: 2024-12-18
How Autoload made PHP elegant. Discover how autoloading has… | by Julien SCHMITT | Oct, 2024 | Dev G
PHP has undergone significant changes since its early versions, and one of the most impactful features is the autoloading mechanism. This feature has transformed the way developers organize and…
Saved
on: 2024-12-12
delight-im/PHP-Auth
Authentication for PHP. Simple, lightweight and secure. - delight-im/PHP-Auth
Saved
on: 2024-12-08
I recently started a new project, tried maxxed out PHPStan, and faced the same pain points. Does any
Saved
on: 2024-12-03
OussamaMater/Laravel-Tips: Daily Laravel and PHP tips.
Daily Laravel and PHP tips
Saved
on: 2024-11-26
Property hooks in Practice | PeakD
Property hooks, asymmetric visibility, interface properties... PHP 8.4 has hot new features. Let's see them in action.... by crell
Saved
on: 2024-10-23
My dev environment for php projects
My best dev environment for PHP projects with RoadRunner based on Docker and Docker Compose
Saved
on: 2024-10-08
PHPDocker.io
PHPDocker.io is a PHP development environment generator built with Docker containers
Saved
on: 2024-10-05
A simple approach to static site generation
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Saved
on: 2024-08-31
I don't write code the way I used to - stitcher.io
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Saved
on: 2024-08-08
A Guide to PHP Attributes | Ash Allen Design
Learn about what PHP attributes are and how to use them. We'll also look at how to create your own PHP attributes.
Saved
on: 2024-07-03
Adding PHPStan to a legacy project | BackEndTea
Learn how to integrate PHPStan, a powerful static analysis tool, into your PHP projects to enhance code quality and reduce errors, in a legacy project.
Saved
on: 2024-06-29
Table of Contents
Use WordPress backend with Laravel or any PHP application - corcel/corcel
Saved
on: 2024-06-27
Introducing Type Perfect for extra Safety
When dealing with legacy, we first focus on safety by knowing the important types. Code must have reliable type declarations to be refactored safely.
Over time, we've been adding our custom rules to address PHPStan blind spots first. Today, we're proud to publish them in one solid package.
Saved
on: 2024-06-20
Tagged Singletons - stitcher.io
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Saved
on: 2024-05-27
Optimizing PHP applications for performance — Mateus Guimarães
A quick guide on how to set up OPCache and fine-tune PHP-FPM.
Saved
on: 2024-05-07
Master the Change
When we upgrade a new project to the best version possible, the latest PHP and framework versions, it's not only about changing syntax sugar to a more fancy one.
It's about the vast focus shift in project management so far. It's a change to master. I want to share the basic rules we apply to make the "impossible" upgrades successful and steady.
Saved
on: 2024-04-26
shipmonk-rnd/composer-dependency-analyser
🚀 Fast detection of composer dependency issues (unused dependencies, shadow dependencies, misplaced dependencies) - shipmonk-rnd/composer-dependency-analyser
Saved
on: 2024-04-23
A deeper dive into optimal PHP-FPM settings
PHP-FPM config files usually aren't something that you give too much attention to until something goes wrong. Here's what you can do when that time comes.
Saved
on: 2024-04-09
php.hospital - A pragmatic approach to modernizing legacy PHP code
A pragmatic approach to modernizing legacy PHP code
Saved
on: 2024-03-20
How to Measure Your Type Coverage | Tomas Votruba
When we come to a new code base, we look for a code quality metric that will tell us how healthy the code base is. We can have CI tools like PHPStan and PHPUnit. PHPStan reports missing or invalid types, and PHPUnit reports failing tests.
But how do we know if 10 passing or 100 passing tests is enough? What if there are over 10 000 cases we should test?
Saved
on: 2024-03-12
Narrowing types for static analysis | Jordi's Ramblings
Lessons learned migrating big old codebases to strict PHPStan configs
Saved
on: 2024-02-24
(37) PHP UK Conference 2024 - YouTube
Share your videos with friends, family, and the world
Saved
on: 2024-02-16
How analyzing your codebase can save you time and money
Saved
on: 2024-02-15
Modernize Symfony Configs
Symfony configuration is one of the changes that are difficult to spot until they're removed in the next major version. Then you must Google the "invalid option id error message" and hope for a solution. That doesn't sound like an excellent way to spend your weekend, does it?
Symfony actually adds a deprecation message to those options, but they're not easy to spot.
Today, we'll show you how to spot them with the help of Rector, PHPStan, and one other fantastic tool.
Saved
on: 2024-01-24
3 Signs Your Project is Becoming Legacy - Arrays Creep
In [the first post](/blog/3-signs-your-project-is-becoming-legacy-and-how-to-avoid-them), we looked at the long-term effects of our decisions. Turning a legacy project into a fresh one is a matter of the "just do it" approach.
But there are 3 things we should take with care even if our project seems outside the legacy project category. First of those are arrays.
Saved
on: 2024-01-09
Building a Better PHP Project: What Tools Should I Not Miss?
Saved
on: 2023-12-15
Cheat sheets
Download PDF cheat sheets for various software development tools, such as PHP, Symfony, Composer, Docker, Kubernetes, Terraform, Git, and more.
Saved
on: 2023-11-11
Design Patterns in PHP 8 Series' Articles - DEV Community
View Design Patterns in PHP 8 Series' Articles on DEV Community
Saved
on: 2023-09-08
(4) PHP doesn't suck (anymore) - YouTube
PHP in 2023 is very different than PHP in 2012. Let's run through some of the changes!Looking for PHP jobs or looking to hire PHP devs? Check out Larajobs: h...
Saved
on: 2023-08-17
Infrastructure management for several high-traffic PHP applications — Moham
Saved
on: 2023-08-12
Route Binding in Laravel - Ahmed Ash
Exploring Laravel and its features deeply. Making complex ideas easy to understand.
Saved
on: 2023-08-08
8 Code Quality Tools To Use In Your Long-Term PHP Applications | Davor Minc
Saved
on: 2023-08-07
Rector In Legacy Projects
After collecting some experience with introducing Rector to legacy projects, I want to write down what I have learned along the way.
Saved
on: 2023-07-25
Two Kinds of Legacy Code Upgrade
I often speak with project owners or CTOs, who ask for help with legacy project upgrades. They typically want something like "upgrade to PHP 8.0" or "upgrade to Symfony 5.4". There are two ways to do that.
Which one is the best for you? Let's ask the important question first.
Saved
on: 2023-07-15
Build Your Own Service Container in PHP - Minimal Container - Ryan Chandler
Exploring software development with PHP, JavaScript, Rust, and beyond.
Saved
on: 2023-05-29
Repositories and their true purpose - Muhammed Sarı
What is the repository pattern? What is it good for? Why'd we use it if we're never going to change the RDBMS? Would it be considered over-engineering if we did use one? Let's find out.
Saved
on: 2023-05-25
Conquering Legacy Code: Embrace the Strangler Fig Pattern for Seamless Soft
Saved
on: 2023-05-12
Migrating an Existing Application to Symfony (Symfony Docs)
When you have an existing application that was not built with Symfony, you might want to move over parts of that application without rewriting the existing logic completely. For those cases there is a…
Saved
on: 2023-05-12
Avoiding empty() in PHP - Andreas Möller
The language construct empty() appears rather versatile. Do you really have a scenario where using it makes sense?
Saved
on: 2023-05-10
Strategies to make functions pure
Saved
on: 2023-05-09
Rector diff speeding
After bringing a performance boost to PHPStan in Speedzember, I had a closer look at Rector.
Saved
on: 2023-05-05
Strangler Pattern in practice | Accesto Blog
This week I finally hit the delete button. I've been waiting for this moment for the last 3 years. Finally, I erased the legacy part of the codebase I was working on! Using a strangler pattern, we got to the point where the legacy SaaS application was completely replaced with a new shiny web application that everyone wants to work on and develop. But let’s start from the beginning.
Saved
on: 2023-04-20
Legacy to Laravel: How to Modernize an Aging PHP Application | Tighten
Many of our clients have legacy PHP apps and want to move to Laravel. We’re often asked "should we rewrite or refactor?" While full rewrites are appealing, they’re also risky. Here’s our approach to gradually refactoring legacy code that lets you start using Laravel right away.
Saved
on: 2023-04-19
Introducing PHP-CS-Fixer into legacy projects - Andreas Möller
If you are working on a legacy PHP project, what could be a strategy for introducing PHP-CS-Fixer that reduces risk and invites other developers to collaborate?
Saved
on: 2023-04-11
25 PERFECT AI Prompts for PHP Developers | by Brady Lewis | Mar, 2023 | Med
With prompts ranging from PHP frameworks to database integration, these prompts offer a wealth of actionable insights and guidance to help you optimize your development efforts and deliver…
Saved
on: 2023-03-30
Testing without mocking frameworks.
Over the years, my coding practices have changed a lot. From hacking away until
it works to TDD/BDD/DDD and everything in between. One of the biggest changes in
my developer career has been when, why, and how I test my code. In particular,
my view on mocking frameworks has changed a lot. A couple of years ago I was
convinced I could not live without them, now I wish I could do just that.
I've come to the point where I generally advise against the use of mocking
frameworks. After a couple intera
Saved
on: 2023-03-28
CPU usage
As one of the most widely used scripting languages for web development, PHP is known for its flexibility and ease of use. However, with complex
Saved
on: 2023-03-17
Organizing test code in PHP
If you are working on a PHP application or package, how can you best organize your test code?
Saved
on: 2023-03-06
(20) Any good no framework PHP MYSQL web app in github, I can learn from? :
Saved
on: 2023-02-01
PSR-14: Example - Access voting | PeakD
So far in our 5 part series we've dug into the details of Events, Dispatchers, and Providers. An awful lot of flexibili... by crell
Saved
on: 2023-02-01
An example of setting up xDebug in docker | Viktor Babanov
Ready to work xDebug config for local development with Docker and Docker-Compose
Saved
on: 2023-01-27
Chronological list of Resources to Learn PHP from Complete Beginner to Adva
Saved
on: 2023-01-25
How I upgraded eight PHP katas
I recently upgrade eight PHP Katas from a minimum PHP 7.3 to a minimum of PHP 8.0. I used Rector, Easy Coding Standard (ECS) and PhpStan to help me. This is how I approached the upgrade and used these tools.
Saved
on: 2023-01-23
My PHP enum style guide - stitcher.io
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
Saved
on: 2023-01-17
Steve vs Matt — How two developers approach the same problem | Laravel News
It's common to see two programmers who code the same feature differently. It's much less common for those two programmers to see eye-to-eye and remain friendly
Saved
on: 2022-12-21
Effective Eloquent | Laravel News
Get ready to level up your Laravel skills with this tutorial on eloquent queries! You'll learn everything you need to know, from beginner to advanced techniques
Saved
on: 2022-12-21
Modern PHP features explained - PHP 8.0 and 8.1 | Laravel News
Since its release, PHP 8 has been a game changer. In this tutorial, let's walk through all the latest features with real-world examples of when to use them.
Tags:
#php
Saved
on: 2022-10-28
I have nothing to declare but my strict types — Webkudu
Improve your PHP code in just 1 minute by adding strict types! Part of a series focused around PHP/Laravel/MySQL/Coding.
Saved
on: 2022-10-26
Algorithms in PHP: Deques (circular buffers & linked lists) – A Walk Within
In the previous post, I talked about priority queues. But in my explanation of an alternative implementation, I neglected to mention a few things: The alternative implementation isn’t for pro…
Saved
on: 2022-09-13
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @hgraca
In my last posts I’ve been writing about many of the concepts and principles that I’ve learned and a bit about how I reason about them. But I see these as just pieces of big a puzzle. …
Saved
on: 2022-08-17
Benchmarking serialization | PeakD
I benchmarked PHP's native serializer vs code export. You won't believe what I found!... by crell
Saved
on: 2022-06-29
On the use of enums | PeakD
When should you use PHP enums, and when shouldn't you?... by crell
Saved
on: 2022-06-29
Symfony Demo meets Modular, Microservice-ready Architecture : r/PHP
Saved
on: 2021-12-09
Modern PHP Cheat Sheet - Front Line PHP
Modern PHP Cheat Sheet from the book Front Line PHP
Saved
on: 2021-11-26
What’s New in PHP 8.1: Enums, First-Class Callables, Fibers, Readonly Prope
Brent Roose, Nikita Popov, Larry Garfield, Dmitry Stogov, Matthieu Napoli, and Aaron Piotrowski talk about all the new features in PHP 8.1.https://php.net/re...
Tags:
#php
Saved
on: 2021-11-26
Recommendations for productivity tools/libraries? : r/PHP
Saved
on: 2021-11-06
Wouter Carabain
In this article I'll explain the basics of using the Messenger component of Symfony. I'll cover the basic usage of this versatile component.
Saved
on: 2021-10-10
PHP 8.0: How to Get Started & The Most Interesting New Features - Wizeline
Tags:
#php
Saved
on: 2021-09-24
Symfony vs Laravel: Comparing Features and Benefits
In this article, you’ll learn the similarities and differences between Laravel vs. Symfony and choose the one that best suits your project.
Saved
on: 2021-07-30
[Common mistake] Sharing session across multiple Laravel subdomain - DEV Co
To Share session across domain and it's multiple especially when you have large ecosystem were...
Saved
on: 2021-06-17
Writing better Regular Expressions in PHP • PHP.Watch
How to write more readable, self-explanatory, and effective regular expressions in PHP.
Saved
on: 2021-06-16
What it means to run a monolith on AWS Lambda
A stable software development model combined with the elasticity of serverless solutions.
Saved
on: 2021-05-31
Tuning Nginx and PHP-FPM… The Right Way - Nomad PHP
Presented by Evan Coury @EvanDotPro
Presented on December 18, 2014
More and more large companies and websites are switching over to Nginx + PHP-FPM for increased performance and more efficient resource utilization. When properly tuned, this duo can be a perfect match for high traffic situations. However, it only takes one small oversight in the configuration to bring your site to a grinding halt under high load. Join Evan Coury, owner of Roave, as he shares all of his tips and tricks learned throughout years of high scalability consulting and running several extremely high traffic websites. We’ll cover how to optimally tune PHP-FPM worker pools, sysctl, and Nginx to get the most out of your servers. Additionally, we’ll cover adding additional capacity to handle traffic spikes, load balancing, and more.
Meet Evan Coury
Evan Coury is a core contributor and long-time user of Zend Framework who is perhaps most well known in the community for authoring the all-new ZF2 module system. He is currently a professional software architect, independent consultant, and owner of Roave, LLC, a full-service web development consulting firm specializing in PHP and Zend Framework. Evan is a strong proponent of free, open source software and also runs the successful SMSCloud.com international SMS gateway.
Saved
on: 2021-05-06
Do not mock what you do not own | The PHP Consulting Company
Saved
on: 2021-04-26