Pratically every Packagist.org project archived + buried at a pyramid in Egypt: Bettergist 2026.Q1, this time with video proof
https://github.com/bettergistco/PackagistArchive/blob/trunk/press-release.md
https://redd.it/1stw2kl
@r_php
https://github.com/bettergistco/PackagistArchive/blob/trunk/press-release.md
https://redd.it/1stw2kl
@r_php
GitHub
PackagistArchive/press-release.md at trunk · bettergistco/PackagistArchive
An archive of virtually every Packagist.org PHP repository. - bettergistco/PackagistArchive
In a Symfony + API Platform project with hexagonal architecture, where do you put validation and how do you handle the DTO vs Command boundary?
I'm trying to figure out the right trade-off between three approaches for write operations. My setup: single-channel HTTP only, synchronous Symfony Messenger bus, no async, no multiple delivery channels.
Approach 1: Separate Input DTO + Command
DTO in Infrastructure with Symfony validator constraints, Processor translates to Command, Command is a pure POPO with no framework dependencies.
Approach 2: Command as API Platform input directly
No separate DTO, validation constraints live on the API resource class, Command stays a pure POPO with zero Symfony/API Platform annotations, Processor enriches with HTTP context
(authenticated user, etc.) before dispatching.
Approach 3: Handler directly as Processor
No Command at all, Handler implements ProcessorInterface, shortest path but Application layer explicitly depends on Infrastructure.
So what approach you recommand please :)
https://redd.it/1stxn44
@r_php
I'm trying to figure out the right trade-off between three approaches for write operations. My setup: single-channel HTTP only, synchronous Symfony Messenger bus, no async, no multiple delivery channels.
Approach 1: Separate Input DTO + Command
DTO in Infrastructure with Symfony validator constraints, Processor translates to Command, Command is a pure POPO with no framework dependencies.
Approach 2: Command as API Platform input directly
No separate DTO, validation constraints live on the API resource class, Command stays a pure POPO with zero Symfony/API Platform annotations, Processor enriches with HTTP context
(authenticated user, etc.) before dispatching.
Approach 3: Handler directly as Processor
No Command at all, Handler implements ProcessorInterface, shortest path but Application layer explicitly depends on Infrastructure.
So what approach you recommand please :)
https://redd.it/1stxn44
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
TreeTrek: PHP web app for browsing raw Git repos
https://repo.autonoma.ca/treetrek
https://redd.it/1stw12y
@r_php
https://repo.autonoma.ca/treetrek
https://redd.it/1stw12y
@r_php
php-deploykit - bash based PHP Deploy tool for Laravel
https://deploykit.nattho.com/
https://redd.it/1su7jg0
@r_php
https://deploykit.nattho.com/
https://redd.it/1su7jg0
@r_php
Nattho
Introduction - php-deploykit
The documentation for the php-deploykit project
php-deploykit - bash based PHP deploy tool for Laravel
https://deploykit.nattho.com/
https://redd.it/1su7k6q
@r_php
https://deploykit.nattho.com/
https://redd.it/1su7k6q
@r_php
Nattho
Introduction - php-deploykit
The documentation for the php-deploykit project
Have google search results gone to shit with the advent of AI or am I losing my mind?
This is indirectly related to PHP, evidentely. But the vaat majority of my searches are PHP related.
Just want to make sure it's not only me.
https://redd.it/1su9r5e
@r_php
This is indirectly related to PHP, evidentely. But the vaat majority of my searches are PHP related.
Just want to make sure it's not only me.
https://redd.it/1su9r5e
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
New SymfonyCasts Course: Doctrine Inheritance - Class Hierarchy in the Database
https://symfony.com/blog/new-symfonycasts-course-doctrine-inheritance-class-hierarchy-in-the-database?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1sua5st
@r_php
https://symfony.com/blog/new-symfonycasts-course-doctrine-inheritance-class-hierarchy-in-the-database?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1sua5st
@r_php
Symfony
New SymfonyCasts Course: Doctrine Inheritance - Class Hierarchy in the Database (Symfony Blog)
Learn how Doctrine maps class inheritance to your database. This SymfonyCasts course covers inheritance strategies, trade-offs, and advanced querying techniques.
A local email inbox for Laravel (no Mailtrap/Mailhog needed)
https://redberry.international/mailbox-for-laravel-email-testing/
https://redd.it/1sufjoc
@r_php
https://redberry.international/mailbox-for-laravel-email-testing/
https://redd.it/1sufjoc
@r_php
redberry.international
Mailbox for Laravel: A Better Way to Test Emails in Laravel
Mailbox for Laravel is a local email testing package that captures outgoing messages and lets you preview them in a clean inbox, no Mailtrap, no extra setup.
Another PHP deploy app for your VPS
I’d like to show you my new deploy app: deployphp.com. You’re probably thinking, “another deploy app.” Still, I couldn’t resist testing my idea and asking for your feedback. It’s an alternative to Laravel Forge and Ploi, but based on containers. Building and deploying the app all happens on your own server. It’s mainly aimed at PHP applications, but I’ve also added the feature to deploy a Dockerfile (including pulling custom GitHub code). This means you can actually deploy any kind of app.
There is support for migrations, cron jobs, workers, and persistent folders. At the moment, it’s still very experimental, and I’m looking for feedback and testers. Questions about how everything works technically, or suggestions for improvements, are very welcome. I’ve set a limit of 20 users. Preferably keep it constructive 🙂
https://redd.it/1sufy9a
@r_php
I’d like to show you my new deploy app: deployphp.com. You’re probably thinking, “another deploy app.” Still, I couldn’t resist testing my idea and asking for your feedback. It’s an alternative to Laravel Forge and Ploi, but based on containers. Building and deploying the app all happens on your own server. It’s mainly aimed at PHP applications, but I’ve also added the feature to deploy a Dockerfile (including pulling custom GitHub code). This means you can actually deploy any kind of app.
There is support for migrations, cron jobs, workers, and persistent folders. At the moment, it’s still very experimental, and I’m looking for feedback and testers. Questions about how everything works technically, or suggestions for improvements, are very welcome. I’ve set a limit of 20 users. Preferably keep it constructive 🙂
https://redd.it/1sufy9a
@r_php
Deployphp
DeployPHP.com - Effortless PHP Deployment
Deploy PHP applications to your own server with ease. Zero-downtime deployments, container isolation, and multi-framework support — powered by Kubernetes.
Experience on LunarPHP?
I'm looking into headless ecommerce solutions to build a new shopping site, and found lunarPHP interesting. I searched online to find more information about it like real life projects or sites using it, but can't find much details.
Does anyone have experience using it?
Thanks in advance
https://redd.it/1suhx5j
@r_php
I'm looking into headless ecommerce solutions to build a new shopping site, and found lunarPHP interesting. I searched online to find more information about it like real life projects or sites using it, but can't find much details.
Does anyone have experience using it?
Thanks in advance
https://redd.it/1suhx5j
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
PHP-Styler: A Back-To-Formula Rewrite
https://pmjones.io/post/2026/04/24/php-styler-a-back-to-formula-rewrite/
https://redd.it/1sumvuv
@r_php
https://pmjones.io/post/2026/04/24/php-styler-a-back-to-formula-rewrite/
https://redd.it/1sumvuv
@r_php
Introducing Marko: The Truly Modular PHP Framework
https://youtu.be/P_1TtSBQ2vo
https://redd.it/1suowzi
@r_php
https://youtu.be/P_1TtSBQ2vo
https://redd.it/1suowzi
@r_php
YouTube
Introducing Marko: The Truly Modular PHP Framework
Get the Marko docs at https://shu.st/uBzsIE
A new PHP framework is here for 2026, and it's called Marko. It is inspired by Laravel and Magento, and aims to address many of the limitations found in other existing frameworks.
PHP programming continues to…
A new PHP framework is here for 2026, and it's called Marko. It is inspired by Laravel and Magento, and aims to address many of the limitations found in other existing frameworks.
PHP programming continues to…
I spent over a month building a Laravel monorepo
Hi everyone,
My English is not good so I used AI to translate this, sorry about that :)
I have around 6 years of experience with Laravel & Symfony. For the past few years I've been using Botble CMS (you can Google it) to build projects for my customers because it comes with so many built-in features - ACL, form builder, table builder, etc. Building all that myself would probably take a whole year.
But lately I feel like Botble is getting outdated, and the license cost is getting too expensive. So, as the title says, I spent over a month building my own Laravel monorepo (with some help from Claude :D).
So far I have these packages: support, hook system (like WordPress), auth, ACL, settings, i18n, media, form builder, notifications, plugins, themes, self-updater, table builder, menu, and admin panel.
The architecture is modular, each module is a composer package. The packages are loosely coupled, meaning I can use form builder without pulling in table builder, themes, menu, plugins, etc. But form builder does require hook system and support.
I have a couple of questions:
\- Would you actually use something like this? (I want to open source it but I'm a bit nervous, so I figured I'd ask first :D)
\- Is there any feature you think I'm missing or would want me to build? (If I open source this, I'll definitely work on it)
Thanks for reading!
https://redd.it/1suu9sz
@r_php
Hi everyone,
My English is not good so I used AI to translate this, sorry about that :)
I have around 6 years of experience with Laravel & Symfony. For the past few years I've been using Botble CMS (you can Google it) to build projects for my customers because it comes with so many built-in features - ACL, form builder, table builder, etc. Building all that myself would probably take a whole year.
But lately I feel like Botble is getting outdated, and the license cost is getting too expensive. So, as the title says, I spent over a month building my own Laravel monorepo (with some help from Claude :D).
So far I have these packages: support, hook system (like WordPress), auth, ACL, settings, i18n, media, form builder, notifications, plugins, themes, self-updater, table builder, menu, and admin panel.
The architecture is modular, each module is a composer package. The packages are loosely coupled, meaning I can use form builder without pulling in table builder, themes, menu, plugins, etc. But form builder does require hook system and support.
I have a couple of questions:
\- Would you actually use something like this? (I want to open source it but I'm a bit nervous, so I figured I'd ask first :D)
\- Is there any feature you think I'm missing or would want me to build? (If I open source this, I'll definitely work on it)
Thanks for reading!
https://redd.it/1suu9sz
@r_php
PHP 8.5 10 million requests per day with 10 PHP workers on $50 VPS
Drupal 11 website with around 100k requests per day and we previously struggled with consistent performance on 16core 128GB server. New $50 stack is tuned for 100 million requests per day with relying only on PHP 8.5.
Before this stack, we put many layers in front of PHP … Nginx fast-cgi cache, Varnish, Cloudflare HTML caching and tried blocking bots to stop surges but nothing helped.
Irony was server was always on very little CPU usage.
Turns out we were NOT planning our stack for 99% of our traffic - we were planning it for a few surges throughout the day.
New Stack
\- Got rid of Cloudflare, Nginx, Varnish - no external cache in front of PHP
\- Reduced Max PHP workers to just 10 behind Default Apache settings
\- Even turned off Drupal Internal Page Cache and just used Dynamic cache with Memcache support
\- Offloaded all static files via static domain to Cloudfront with a CNAME set up. Default settings - no complexity.
To our surprise, this new set up is blazingly fast, extremely performant and able to scale up to more than 100 requests per second and up to 100 million requests per day.
All 10 php-fpm workers are always warm and even if we get a scraper sending 1000 request in one hit, our set up can absorb it and get back to normal within 10-15 seconds.
And we still have 90% headroom on CPU .. all thanks to latest improvements in PHP performance.
What we have learned!
\- Trust PHP to handle almost everything
\- Plan for 99% of your traffic, not for surge traffic else you will make it worse for 99% of your traffic
\- You don’t need cache layers in front of PHP 8x .. a lot of misconceptions come from PHP 5x era when PHP was slow and CPUs were expensive .. Cache Layers are extra hops and connections and contexts are expensive .. Nginx and Varnish are totally redundant and so are CDNs unless you have lot of global traffic but you will be degrading your local users to some extent.
Don‘t throw extra memory, CPUs, extra workers, external caching in front of PHP unless you have Reddit scale traffic .. make sure your PHP app is properly written (profile custom modules) and trust extremely fast PHP 8x to do the magic!
https://redd.it/1suym77
@r_php
Drupal 11 website with around 100k requests per day and we previously struggled with consistent performance on 16core 128GB server. New $50 stack is tuned for 100 million requests per day with relying only on PHP 8.5.
Before this stack, we put many layers in front of PHP … Nginx fast-cgi cache, Varnish, Cloudflare HTML caching and tried blocking bots to stop surges but nothing helped.
Irony was server was always on very little CPU usage.
Turns out we were NOT planning our stack for 99% of our traffic - we were planning it for a few surges throughout the day.
New Stack
\- Got rid of Cloudflare, Nginx, Varnish - no external cache in front of PHP
\- Reduced Max PHP workers to just 10 behind Default Apache settings
\- Even turned off Drupal Internal Page Cache and just used Dynamic cache with Memcache support
\- Offloaded all static files via static domain to Cloudfront with a CNAME set up. Default settings - no complexity.
To our surprise, this new set up is blazingly fast, extremely performant and able to scale up to more than 100 requests per second and up to 100 million requests per day.
All 10 php-fpm workers are always warm and even if we get a scraper sending 1000 request in one hit, our set up can absorb it and get back to normal within 10-15 seconds.
And we still have 90% headroom on CPU .. all thanks to latest improvements in PHP performance.
What we have learned!
\- Trust PHP to handle almost everything
\- Plan for 99% of your traffic, not for surge traffic else you will make it worse for 99% of your traffic
\- You don’t need cache layers in front of PHP 8x .. a lot of misconceptions come from PHP 5x era when PHP was slow and CPUs were expensive .. Cache Layers are extra hops and connections and contexts are expensive .. Nginx and Varnish are totally redundant and so are CDNs unless you have lot of global traffic but you will be degrading your local users to some extent.
Don‘t throw extra memory, CPUs, extra workers, external caching in front of PHP unless you have Reddit scale traffic .. make sure your PHP app is properly written (profile custom modules) and trust extremely fast PHP 8x to do the magic!
https://redd.it/1suym77
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Lens for Laravel v2.0.0 is out: accessibility audits now map Axe-core issues to Blade, React, Vue, and Livewire
https://redd.it/1sv9vqp
@r_php
https://redd.it/1sv9vqp
@r_php
Reddit
From the laravel community on Reddit: Lens for Laravel v2.0.0 is out: accessibility audits now map Axe-core issues to Blade, React…
Explore this post and more from the laravel community
Built a Moonshot AI (Kimi K2.6) driver for the new laravel/ai SDK
I just released my first public version of **laravel-ai-moonshot**, an open-source package that adds **Moonshot AI / Kimi K2** support to the official Laravel AI SDK.
GitHub: [https://github.com/jonaspauleta/laravel-ai-moonshot](https://github.com/jonaspauleta/laravel-ai-moonshot)
The goal is simple: use Moonshot/Kimi through Laravel AI’s native provider system instead of building a separate integration.
It supports:
* Text generation
* Streaming responses
* Tool calling
* Image input
* Kimi thinking mode
* Document Q&A via Moonshot Files API
* Per-tier model overrides
* Custom base URL support
* Laravel AI agents, `agent()`, `Ai::textProvider()`, and provider attributes
Install:
composer require jonaspauleta/laravel-ai-moonshot
Basic usage:
use function Laravel\Ai\agent;
$response = agent('You are a helpful assistant.')
->prompt('Explain Kimi K2 in one sentence.', provider: 'moonshot');
echo $response->text;
The package is intentionally strict about what Moonshot supports. No fake embeddings, no fake image generation, no fake provider tools. Unsupported features fail clearly instead of pretending to work.
This is the first clean public release, so feedback is welcome — especially around Laravel package structure, README clarity, edge cases, and real-world Laravel AI usage.
https://redd.it/1svhq81
@r_php
I just released my first public version of **laravel-ai-moonshot**, an open-source package that adds **Moonshot AI / Kimi K2** support to the official Laravel AI SDK.
GitHub: [https://github.com/jonaspauleta/laravel-ai-moonshot](https://github.com/jonaspauleta/laravel-ai-moonshot)
The goal is simple: use Moonshot/Kimi through Laravel AI’s native provider system instead of building a separate integration.
It supports:
* Text generation
* Streaming responses
* Tool calling
* Image input
* Kimi thinking mode
* Document Q&A via Moonshot Files API
* Per-tier model overrides
* Custom base URL support
* Laravel AI agents, `agent()`, `Ai::textProvider()`, and provider attributes
Install:
composer require jonaspauleta/laravel-ai-moonshot
Basic usage:
use function Laravel\Ai\agent;
$response = agent('You are a helpful assistant.')
->prompt('Explain Kimi K2 in one sentence.', provider: 'moonshot');
echo $response->text;
The package is intentionally strict about what Moonshot supports. No fake embeddings, no fake image generation, no fake provider tools. Unsupported features fail clearly instead of pretending to work.
This is the first clean public release, so feedback is welcome — especially around Laravel package structure, README clarity, edge cases, and real-world Laravel AI usage.
https://redd.it/1svhq81
@r_php
GitHub
GitHub - jonaspauleta/laravel-ai-moonshot: Moonshot AI (Kimi K2) provider for the Laravel AI SDK. OpenAI-compatible chat completions…
Moonshot AI (Kimi K2) provider for the Laravel AI SDK. OpenAI-compatible chat completions, streaming, tool calling, and Kimi thinking-mode reasoning. - jonaspauleta/laravel-ai-moonshot
I built scout-postgres: a PostgreSQL-native Laravel Scout engine for search without Meilisearch/Algolia/Typesense
I just released **scout-postgres**, an open-source Laravel package I built.
It is a **Postgres-native Laravel Scout engine** that uses PostgreSQL full-text search and `pg_trgm`, so you can add search to Laravel apps without running a separate service like Meilisearch, Algolia, or Typesense.
The goal is not to replace dedicated search engines for every use case. It is for apps where:
* you already use PostgreSQL
* you want Laravel Scout integration
* you need simple, practical search
* you do not want extra infrastructure
* you are okay with Postgres handling the indexing/search side
It supports generated search columns, weighted search vectors, trigram similarity, ranking, filtering, ordering, and normal Scout-style querying.
Repo: [https://github.com/jonaspauleta/scout-postgres](https://github.com/jonaspauleta/scout-postgres)
I would appreciate feedback from Laravel/Postgres people, especially around API design, docs, edge cases, and real-world usage.
https://redd.it/1svihnd
@r_php
I just released **scout-postgres**, an open-source Laravel package I built.
It is a **Postgres-native Laravel Scout engine** that uses PostgreSQL full-text search and `pg_trgm`, so you can add search to Laravel apps without running a separate service like Meilisearch, Algolia, or Typesense.
The goal is not to replace dedicated search engines for every use case. It is for apps where:
* you already use PostgreSQL
* you want Laravel Scout integration
* you need simple, practical search
* you do not want extra infrastructure
* you are okay with Postgres handling the indexing/search side
It supports generated search columns, weighted search vectors, trigram similarity, ranking, filtering, ordering, and normal Scout-style querying.
Repo: [https://github.com/jonaspauleta/scout-postgres](https://github.com/jonaspauleta/scout-postgres)
I would appreciate feedback from Laravel/Postgres people, especially around API design, docs, edge cases, and real-world usage.
https://redd.it/1svihnd
@r_php
GitHub
GitHub - jonaspauleta/scout-postgres: Native Postgres full-text search + pg_trgm engine for Laravel Scout. Drop-in replacement…
Native Postgres full-text search + pg_trgm engine for Laravel Scout. Drop-in replacement for Meilisearch/Algolia/Typesense when you already run Postgres. - jonaspauleta/scout-postgres