PHP Reddit
32 subscribers
353 photos
47 videos
26.1K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
Herd vs Lerd vs Yerd

I'm a reasonably happy user of Herd and sometimes debate upgrading to herd pro.

However with Lerd and Yerd, which seem to offer everything Herd Pro does, but free, I wondered if anyone has any input or has used either in anger?

https://lerd.sh/
https://yerd.app/

https://redd.it/1uxao86
@r_php
I built a Financial System in Laravel using strict DDD, Clean Architecture, SOLID and CQRS (No "just another CRUD").

Many people categorize PHP/Laravel as tools only suited for rapid CRUDs or small apps. I wanted to challenge that stigma by building an enterprise-grade, open-source financial management system: **Leo Counter**

Implementing the complexity of the financial sector requires unbreakable business rules. My goal was to apply the highest software engineering standards to a framework that isn't typically associated with this level of abstraction.

Under the hood:

Strict Architecture DDD, Clean Architecture, and CQRS.
Isolated Domain: The core mathematical and accounting logic lives in a pure layer, with zero toxic dependencies on the framework or Eloquent.
* Tech Stack: PHP 8+, Laravel, React, TypeScript, and Inertia.js.
* Fully Dockerized for Linux environments.

If you are passionate about software architecture, want to see how real, scalable DDD is applied in the Laravel ecosystem, or just want a private tool for your finances, I’d love for you to audit the code.

Any feedback, code roasts, PRs, or GitHub stars are super welcome!
Repo: https://github.com/juanVillamilEchavarria/Leo_Counter-app)

https://redd.it/1uxf180
@r_php
Has anyone switched to a multi carrier shipping platform?

I've been looking into different shipping software to simplify the shipping process, especially when comparing carrier rates and managing multiple shipments.

One platform I recently came across was Rollo Ship, but I'm still exploring other multi carrier shipping platforms before deciding which one makes the most sense.

For those who ship regularly, has using a shipping platform made a noticeable difference? Which features have been the most useful, whether it's shipping automation, label generation, lower shipping rates, or having everything managed through one dashboard?

I'd be interested to hear what has worked well for others and whether switching from a single carrier was worth it.

https://redd.it/1uxtgjq
@r_php
Anyone else finding Nested Widgets much easier for complex Elementor layouts?
/r/WordPressThemes/comments/1uxzwwd/anyone_else_finding_nested_widgets_much_easier/

https://redd.it/1uxzxhp
@r_php
Open source projet i've made with Fable5

Built a PHP profiler to test Fable 5… and I'm honestly impressed

I started this project mostly as an excuse to try Fable 5 in a real-world codebase.

The result is PHP Pulse: an open-source profiling tool for PHP applications that helps identify slow requests, database bottlenecks, memory usage and execution traces.

GitHub: https://github.com/quentinRogeret34/php-pulse

I expected Fable 5 to speed up development a bit, but I was genuinely surprised by how productive it made the whole process. It handled a lot of the repetitive implementation work while still letting me stay in control of the architecture and technical decisions.

The project is still evolving, but it's already usable and I'd love to get feedback from other PHP developers.

https://redd.it/1uy4m5f
@r_php
Existing Laravel Project and AI

I have an existing Laravel project and want to explore adding new features to it using AI. I have been using AI until now, where I would copy files of my code into the chat, e.g. Claude, and ask it to create/add features, but it's time consuming and I feel like there's much better/faster ways of doing it today.

What are the best ways currently of doing this, without it messing up my existing work?

https://redd.it/1uyanok
@r_php
Call for papers for PHPverse 2027

It's been a month since PHPverse 2026, which was a huge success. You can watch this year's talks here: https://www.youtube.com/playlist?list=PL0bgkxUS9EaK45-0M742u1WfK2G7FKXZQ

So we're already planning the next edition in 2027, and this time we're opening a public call for papers, everyone can submit: https://docs.google.com/forms/d/e/1FAIpQLSfp-_MYwaeVcDYZuPcL-YHHHikuoyB9hM7FUkpP2nUggba8hQ/viewform

https://redd.it/1uyuzst
@r_php
Un profiler comme PHP-SPX

Bonjour à tous 👋

J'ai récemment voulu essayer le développement d'un projet complet / complexe avec Claude Code et Fable 5. Pour répondre a mes problématiques sur des projets legacy j'ai donc développé https://github.com/quentinRogeret34/php-pulse un profiler comme celui intégré dans Symfony ou comme PHP-SPX

Je vous le partage si ça peut également vous aider dans certains de vos projet legacy

https://redd.it/1uyy94u
@r_php
Built a native Mac database GUI with Valet auto-detection — free beta

Been building Laravel apps for years and got tired of having to configure

database connections manually for local Valet projects.



Built Stratum — a native macOS database GUI that auto-detects your Valet

MySQL socket. Just open it and your local databases are there, no setup needed.



Also does PostgreSQL and SQLite with no extra config. Visual table browser,

schema designer, query editor with autocomplete, iCloud sync.



Free during beta: https://stratum.mwn-digital.uk



Curious if anyone else has been annoyed by the same thing with their local

dev setup.

https://redd.it/1uybfeg
@r_php
Worked on a settings & feature flags package package

Thought I'd post about it here. I've made and published a settings & feature fags package.

Yes I know Laravel has Pennant and Spatie has Laravel Settings. However, for what I wanted and needed in a couple of projects neither really fit what I was looking for.

I looked at other SaaS solutions like LaunchDarkly and ConfigCat and thought "I can replicate that with an OSS package." So that's what I set out to do. The initial implementation had a smaller scope was and done by hand, and then after that I brought in Claude to build out other features and refine what I had done.

Some things it comes with:

* Rule-based targeting to target users by attributes, segments, geography, device, or time (things like geolocation require external services).
* Percentage rollouts for gradual releases with consistent user bucketing
* Integration Laravel Pennant so if you're using Pennant and want to integrate this, you can have Pennant resolve to the DB
* Integrations with Laravel Telescope
* Integration with Spatie Permissions
* Highly extensible, create your own value types and drivers to add support for more things or other packages
* A lot more, but it's all covered in the docs

Since every project has its own needs, configuration and extensibility was an upfront must-have. I tried to have a sensible out of the box setup, but if something doesn't work for you, you can swap it out.


It doesn't currently ship with any interfaces or endpoints. I plan to add endpoints and Blade, Vue, React, Svelte support in the future, but I thought I'd get it out there for people to look at and provide feedback.

I've looked through the docs, making sure the steps were accurate, but if there's any gaps or something is wrong, let me know :)

I hope some of you will find it useful, I've been using it in a couple of projects 😄

GitHub: [https://github.com/GaiaTools/fulcrum-settings](https://github.com/GaiaTools/fulcrum-settings)

Docs: [https://gaiatools.com/docs/fulcrum-settings/v1](https://gaiatools.com/docs/fulcrum-settings/v1)

Packagist: [https://packagist.org/packages/gaiatools/fulcrum-settings](https://packagist.org/packages/gaiatools/fulcrum-settings)

https://redd.it/1uz4pib
@r_php
A subtle gotcha with hook/event systems: patching an object after creation doesn't retrigger the hook that ran on creation

This bit me recently and I think it's a common trap in any hook/event-driven system (WordPress actions, Laravel model events, custom pub-sub, whatever) — not just a one-off bug.


The setup: you create an object through one call, and a hook tied to that object's creation/save event runs some downstream logic (in my case, assigning an author based on a category — logic I only wanted to run once the object was fully set up). Then you attach more data to the same object through a second, narrower call — in my case, setting taxonomy terms after the post already existed.


The intuitive assumption is that the hook "sees" the object as it currently is. It doesn't. The hook only fires on the specific event it's bound to, and unless that second call also triggers that same event, the hook already ran and finished — with the object in its earlier, incomplete state. If the hook's logic checks a field that only gets set by the second call, it sees it empty every time, and the bug looks intermittent or random if the two calls sometimes land close together in your testing and sometimes don't.


The fix is boring once you see it: either combine the writes into one call before the event fires, or explicitly re-trigger the event after the follow-up call so the hook runs again with complete data. It took a while to get there though, because the actual symptom (a downstream field just not getting set some of the time) doesn't obviously point back to hook timing.


If you're chasing a "sometimes it works, sometimes it doesn't" bug involving anything that reacts to a create/save event, checking whether all the relevant data was actually present at the moment that event fired is worth doing before you start suspecting race conditions or caching.

https://redd.it/1uza4wk
@r_php