magnASCII.dev Simone Magnaschi
Senior Full Stack Web Dev
Bookmarks tagged with #php.
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

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

Tools

Saved on: 2024-09-17

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

PHP 7: Type-safe Arrays of Objects

Tags: #php
Saved on: 2024-08-21

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

The installation and documentation of koel

Music streaming server that works
Saved on: 2024-07-12

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.
Tags: #guide #php
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

A quick guide to JWTs in PHP – Rob Allen

An article by Rob Allen
Tags: #guide #php #jwt
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
Tags: #php #video
Saved on: 2024-02-16

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

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

PHP Fibers: A practical example

Tags: #php
Saved on: 2023-08-22

(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...
Tags: #php #video
Saved on: 2023-08-17

Route Binding in Laravel - Ahmed Ash

Exploring Laravel and its features deeply. Making complex ideas easy to understand.
Tags: #php #laravel
Saved on: 2023-08-08

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

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?
Tags: #php #tips
Saved on: 2023-05-10

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…
Tags: #ai #php #tips
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

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

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
Tags: #php #laravel
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

PHP-FPM Process Caluculator

Tags: #tools #php
Saved on: 2022-01-05

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

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

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...
Tags: #php #laravel
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
❤️
</>
2026