PHP Reddit – Telegram
PHP Reddit
34 subscribers
291 photos
37 videos
24.9K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
Your experience with AI Agents and AI Programming Tools in 2025

Sorry for the long post!

I'm trying to get an idea of which tools are working for people in PHP projects and what doesn't work - and whether my experience is normal or not.


I've worked at the same company for 15 years, and worked on various large and complicated code bases overseeing transitions from PHP4/5 up to 8.4 now. The company adopted an in-house framework in 2006 and there's still a version of it in use today. This approach has meant our code can be bespoke, modular, shared between projects when necessary and throughout this 15 years we've been able to control upgrades and changes and maintain backward compatability. Go look at Symfony v1 compared to what we have today and it's unrecognisable. Laravel wasn't created until 2011 and went through various rewrites in those early years. I expect if we were starting from scratch today we'd probably pick Symfony - but we're not starting from scratch - we have millions of lines of code already.


Anyway - for a little while now myself and other members of my team have tried IDE AI Autocomplete tools like Copilot and the jetbrains PHPStorm AI chat - as well as ocassionally running problems through Chat GPT or Gemini - and those smaller tasks (the amount of code you might fit onto your screen) typically work or at least help us fix issues.

Recently, I've been trying to use some of the AI Agents instead. Junie (PHPStorm), Claude code, Aider - and they just don't work at all for me. They get completely confused by our codebase, the concepts, the structure. They pick and choose the wrong parts to work on (even when I tell them not to). They don't understand our routing, our ORM, our controllers, our caching, our forms - anything.

Presumably an AI is going to be good at solving the sort of problems it's been trained on from the internet - so public Github projects, etc? Probably lots of open source pieces of work. Python, go, nodejs? If we had a Django website maybe it would be fine. I expect it'll be good for Wordpress development and maybe Symfony and Laravel projects too? Although I'm willing to bet few 'enterprise-style' websites have source code in the public domain.

I've realised that our projects, framework, ORM, system, etc is so different from anything else out there (including the way we split our code up into separate repos) that I'm not sure there is going to be much in the training data for an AI to relate it to. I am going to have to explain things in book-level detail to get anywhere and my hunch is that the more understanding that's baked into the model (rather than given in the prompt at runtime) the better.

Am I missing something obvious here? Is everyone else producing incredible work with AI? What are your experiences?

https://redd.it/1ldew5x
@r_php
I made an ORM for the legacy projects I work on

I just published a composer package for the ORM "framework" I've developed from modernising some legacy PHP applications over the last 5 years: https://github.com/mattdinthehouse/porm/ 😊

PORM came about because I wanted to work with consistent model classes but these projects were built with raw SQL everywhere (so many injection vulns) and worked with associative arrays which meant no IDE autocomplete and linting...

Installing a comprehensive ORM like Doctrine was gonna be too disruptive and rebuilds were out of the question, so we chose to slowly migrate code over to a lightweight class-based set of "helper" models which has been a great success and now I'm moving the system into this package to share with everyone

Have a look at the example folder for some demo code, and I'd love to get feedback on it! I'm gonna continue using it for work anyway so it doesn't matter if nobody uses it 😅

This v1 release is just the core ORM functionality and there's a handful of other stuff that I'm going to move into this package like schema output for API endpoints, instantiating model objects from arrays/JSON which I can later wrap in form request validation, diffing objects, and writing to the DB

PS - I live in Australia and I'm about to go to bed so I'll read everybody's comments in the morning 🦘

https://redd.it/1ldkigy
@r_php
Stochastix: a backtesting framework for crypto trading in PHP

Few months ago I discovered the world of crypto trading, which led me to find about algorithmic trading. And in this world, Python is king. Python or MetaTrader's MQL5, which is basically C++. Meh. Interesting and powerful but painful to use, even with vibe coding. Nothing like the great developer experience of Pine Script in TradingView.

So I decided to create Stochastix, a backtesting framework built with PHP 8.4 and Symfony. It was a good opportunity to explore how would work a backtesting framework. Along the way I discovered the PHP extension `ds`. Never heard of it before. I had a x80 performance gain as soon as I implemented its data structures. This lib should be default. The framework also uses `bcmath` for arbitrary precision calculations.

Coming from a web development background, this new way of using PHP was a great experience.

Here's a quick overview of the framework:

* bar-by-bar ("realtime" processing) as opposed to vectorized frameworks
* market, limit, stop orders
* multi-timeframe strategies
* custom indicators
* binary formats to speed up data loading
* automatic data download from lots of exchanges (ccxt lib)
* UI built with nuxt with real-time updates with Mercure
* chart plotting showing indicators and executed trades
* number metrics and visual metrics (equity curve, drawdown, etc.)
* default docker install using frankenphp (one-liner installation)
* background jobs with Symfomy Messenger

It's a work in progress, to be totally honest I'm not totally sure about all the metrics calculations, especially Beta and Alpha. But I think it's a good start, and I know I'll personally use it to build strategies from now on.

If you have a background in algotrading or if you have an sudden interest, I'll be happy to get some feedback.

The website is available at [https://phpquant.github.io/stochastix-docs/](https://phpquant.github.io/stochastix-docs/)

You can have a look at what a strategy code looks like here: [https://github.com/phpquant/stochastix-core/blob/master/recipe/src/Strategy/SampleStrategy.php](https://github.com/phpquant/stochastix-core/blob/master/recipe/src/Strategy/SampleStrategy.php)

https://redd.it/1ldnkrg
@r_php
Simplifying Hosting for 100+ Sites on same Laravel CMS - Multi-Tenant Strategy with Low-Maintenance Infrastructure?

We have around 120 websites that all run on the same simple Laravel-based CMS. Each site is a separate standalone instance with its own database. The websites are basic service business sites, averaging under 1,000 visitors/day each. The websites are essentially just serve up content/data from their databases and without any complicated business logic or resource intensive operations.

# Current Setup:

120 sites are distributed across 3 Leaseweb VPS servers (\~40 each).
Each has its own free SSL certificate, which requires manual renewal.
Sites send occasional notification emails via SendGrid.
Weekly backups go to Amazon S3.
The current websites generate static html copies of all dynamic pages which Akamai serves up in the case of anything other than a 200 response - our last-resort failover layer.

This setup has become difficult to maintain - instability, performance inconsistency and high costs are ongoing issues.

# Goals:

I want to simplify the entire setup while keeping costs reasonable and minimizing DevOps work. I’m a software engineer but relatively new to managing infrastructure at this scale. Here’s my rough plan:

Convert the CMS to support multi-tenancy with dynamic DB switching middleware based on domain.
Run a small number of CMS instances on geographically distributed servers behind a load balancer (or possibly a serverless/cloud environment).
Use a single centralized Redis server for caching/sessions/queue.
Host all tenant databases on a dedicated DB server.
Store media (logos, site specific imagery, etc.) on S3 or similar.
Automate SSL cert renewal
Use something like Cloudflare Always Online or similar CDN as a last-resort failover (Akamai is quite pricey)

# Solutions?:

The big question is how best to implement this in a way that’s low-maintenance and cost-effective.

I’ve looked into solutions like Heroku, Laravel Vapor, AWS Elastic Beanstalk, Kubernetes, etc., but none seem super clear or easy to adopt without a steep DevOps learning curve nor offer all of the needed service management in a single gui.

I’ve used ploi.io with DigitalOcean for personal projects and really like the simplicity. I noticed Ploi offers the ability to create load balancers, standard web servers, Redis, spaces and managed DBs all via DigitalOcean. Is this option worth exploring further?

Is there a plug-and-play platform or combination of tools you’d recommend for this kind of Laravel multi-tenant deployment - ideally with built-in support for load balancing/scaling, redis, databases, SSL, backups and static cache fail over without requiring a full-time DevOps engineer?

Thanks in advance!

https://redd.it/1le4dom
@r_php
olvlvl/composer-attribute-collector v2.1.0

composer-attribute-collector is a Composer plugin designed to effectively discover PHP 8 attribute targets, and later retrieve them at near zero cost, without runtime reflection. After the autoloader dump, it collects attributes and generates a static file for fast access. This provides a convenient way to discover attribute-backed classes, methods, or properties—ideal for codebase analysis. (For known targets, traditional reflection remains an option.)

v2.1.0 highlights:

- The attribute collection expands to parameters. Special thanks to Markus Staab and Ondřej Mirtes for the contribution.
- The attribute collection expands to interfaces.
- The collector runs as a system command to avoid clashes between package versions used by Composer and the codebase.
- Use cases for Symfony and Laravel.

https://github.com/olvlvl/composer-attribute-collector

https://redd.it/1leepe1
@r_php
Advantages of the match function

Hello all.

I'm a PHP teacher at college since 3 years, and a php developper for 7 years.

Recently, I've seen a lot of students using the match function that came with PHP8.0. Example :

<?php

function translateHand(string $hand): string {

return match($hand) {

'rock' => 'pierre',
'paper' => 'papier',
'scissors' => 'ciseaux'

};

}

?>


What's the point using it instead of simply using an associative array ? Like return $translations[$hand] ?

It seems to me match is an unnecessary wrapper in this case, hurting performances, readability and reusability.

The funny thing is also that I only started to see this function the last 3 months while PHP8.0 released 3 years ago. Maybe it's the default with GenAI ?

https://redd.it/1leeqnc
@r_php
Building an OLX-like platform – ReactJS or PHP?

I'm building a marketplace platform similar to OLX with thousands of listings. SEO performance is critical (want to rank on search and AI tools like ChatGPT), and we plan to scale long-term. Torn between using ReactJS (with a Node backend or SSR) or a traditional PHP stack like Laravel.

What would you recommend for performance, SEO, and scalability?

https://redd.it/1legsnj
@r_php
FluidGraph, a Memgraph OGM (Object Graph Manager)

Hi everyone. I've been working for the past month or so on FluidGraph (https://github.com/primd-cooperative/fluidgraph/) as part of a PWA I'm building for Primd (https://primd.app). With more tests completed and the API having stabilized, I'm throwing the "beta" label on it if anyone is interested in taking it for a spin.

### Why?

Graph databases are really interesting and really useful for the type of data we're looking to work with. While many people are familiar with Neo4J and some libraries exist in the PHP space for it, there are handful of issues that lead us to creating something new:

- There are subtle differences between Neo4J and Memgraph
- Many of the Neo4J projects are no longer maintained
- Many of the projects borrow too many concepts from traditional relational-databases

We needed something that allowed for a lot more power and flexibility as it relates to working with graph models.

### Key Features

- Work directly with the additional information Edges can carry by having common patterns for Edges and Nodes.
- Seemlessly represent nodes as multiple classes, taking full advantage of labeling and the type of horizontal polymorphism that Graphs are capable of. This is achieved by maintaining both Entity references as well as per-property references to their data.
- Relationship "forking" and "merging" provides ways to work with subsets of large relationships without requiring the whole relationship. This is in addition to Eager, Lazy, and Manual relationship loading modes being supported.


Happy to answer any additional questions about how it works or why it works the way it does. The README is a good starting point, but there's a lot of fairly complex concepts and inner workings (like the per-property references) being done here.

https://redd.it/1lejmb6
@r_php
Laminas is ending support for their MVC. How would you handle it?

With Laminas MVC taken out of active development, what is going to happen with existing projects? Do you think it's ok to pull support and promote another architecture or must MVC be supported forever?

https://getlaminas.org/blog/2025-06-06-laminas-mvc-is-retiring.html

https://redd.it/1leona4
@r_php
Complete Symfony + Metronic Tailwind Integration Guide

I've created a guide for integrating Keenthemes Metronic v9 Tailwind templates with Symfony.

What's covered:

\- Complete project setup and asset management

\- Converting HTML templates to Twig

\- Both sidebar and header layout demos

The guide includes working code examples. You can see the documentation at: https://keenthemes.com/metronic/tailwind/docs/getting-started/integration/symfony

Get the code: https://github.com/keenthemes/metronic-tailwind-html-integration

https://redd.it/1lf3xac
@r_php
Pitch Your Project 🐘

In this monthly thread you can share whatever code or projects you're working on, ask for reviews, get people's input and general thoughts, … anything goes as long as it's PHP related.

Let's make this a place where people are encouraged to share their work, and where we can learn from each other 😁

Link to the previous edition: /u/brendt_gd should provide a link

https://redd.it/1lf573n
@r_php
Feedback Wanted Building a Modular Laravel App for Small Biz Use Cases – What Would You Add or Improve?

Hey fellow artisans 👋

I’m working on a full-stack Laravel + Livewire + Filament (TALL) app aimed at small businesses, service providers, and niche marketplaces.

It’s designed to be a starter kit or SaaS foundation that can be easily customized or white-labeled—kind of a modern “business in a box” with an admin panel, role-based access, Stripe integration, and Livewire SPA-like UX.

Here’s a breakdown of what’s built so far:


---

🧱 Key Features

Filament Admin Panel with full CRUD, theme toggles, and section visibility controls.

🧑‍🤝‍🧑 Role-Based Dashboards using Filament Shield:
Admins, team members, and customers (e.g., producers/retailers) see different views.

🛒 Stripe-Powered Shop: Products, variants, order management, etc.—TALL stack e-commerce with Stripe Checkout.

📅 Appointment Management: Optional scheduler for service-based businesses with email notifications.

📧 Contact Form + Editable Footer: Simple public-facing communication.

🎨 Section + Theme Control: Admins can re-order or hide public page sections via a Filament UI.

SPA-Like Navigation with wire:navigate across panels and public pages—super smooth transitions.

🔐 Security Suite: Built-in 2FA and OTP support, toggleable per user or role.

📊 Health Dashboard via Spatie Laravel Health for performance/server checks.

⚙️ Central Business Settings for announcements, data toggles, and niche-specific customization.

🧰 Dev-Friendly Setup: Modular codebase, demo seeds, clean service layer—ready to extend or fork.



---

I’d Love Your Input On:

Extensibility: Any best practices or gotchas you’ve learned from building modular Laravel apps?

Livewire UX: Have you used wire:navigate in production? Any pitfalls or performance tips?

Package Suggestions: Anything you’d add or swap? (e.g., for subnoscriptions, media management, localization, etc.)

Bloat Check: Am I trying to do too much out of the gate?

Features You'd Want: If you’ve built projects for small clients—what’s the one thing that always comes up?


I’m treating this as both a dev tool and a commercial boilerplate for future client work or SaaS spinoffs, so I really appreciate any insight from people who’ve walked this road.

Thanks, and happy coding!

https://redd.it/1lf9vu5
@r_php
Looking for other Devs who are learning Wordpress indepth

Looking for other like minded people who are looking to learn wp in depth ie plugin development, hooks, wp api etc

We can meet and chat on discord or learn on Google meets etc

Dm if intrested

https://redd.it/1lf9lu2
@r_php
microfy.php - a lightweight collection of PHP helper functions (experimentation phase)

Interested in a lightweight collection of procedural PHP helper functions? microfy.php is designed to speed up development and simplify common patterns like superglobal access, debugging, logging, array handling, UI snippets, and database access. It gives you practical tools with no setup, no classes, no magic. https://github.com/myappz-com/microfy.php

E.g. two lines to create a html table from db
$all = db_all($pdo, "SELECT * FROM users");
html_table($all);

or "pretty-print"
pp($array);
...
See more Examples

MicrofyClass.php is the object-oriented version
https://github.com/myappz-com/MicrofyClass.php

The idea is, to use these little helpers with plain PHP projects, without having to use a full framework.

Note: this tiny project is still experimental.
I am always interested to see respectful opinions of real PHP devs ;)

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