PHP Reddit – Telegram
PHP Reddit
34 subscribers
294 photos
39 videos
25K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
Short PHP Fundamentals Quiz for Beginners

I built a beginner-friendly PHP fundamentals quiz that teaches the concepts as you move through it, rather than just testing you at the end.

There will be audio explanations coming soon. Would love any feedback from folks learning or teaching PHP in the meanwhile - https://impressto.ca/php\_quizzes.php#php-fundamentals

https://redd.it/1qt3dl5
@r_php
Soft Deletes w/ Cascade

I might be overcomplicating this, but here it goes.

I'm currently researching soft deletes and the related issues with cascading relationships and restoring records accurately. I've explored a few packages, but they don't resolve a few issues I feel like I might run into. For instance, large amounts of soft deletes should be dispatched to jobs to preserve application performance. This carries it's own complications, but even more so with restoring that data. Currently, I've been restoring related data with timestamps and model observers, but I'm looking for something a bit more 'magical'.

I'm curious what others have been doing, as most of what I've found is old information. Maybe those solutions have been good enough?

So tell me, how do you handle soft deletes on models with relationships, and then how do you restore them when you need to.

https://redd.it/1qt5fym
@r_php
I built a declarative ETL / Data Ingestion library for Laravel using Generators and Queues

Hi everyone,

I recently released a library to handle data ingestion (CSV, Excel, XML streams) in a more structured way than the typical "parse and loop" approach.

The goal was to separate the **definition** of an import from the **execution**.

**Key Architectural Decisions:**

1. **Memory Efficiency:** It utilizes Generators (`yield`) to stream source files line-by-line, keeping the memory footprint flat regardless of file size.
2. **Concurrency:** It chunks the stream and dispatches jobs to the Queue, allowing for horizontal scaling.
3. **Atomic Chunks:** It supports transactional chunking—if one row in a batch of 100 fails, the whole batch rolls back (optional).
4. **Observer Pattern:** It emits events for every lifecycle step (RowProcessed, ChunkProcessed, RunFailed) to decouple logging/notification logic.
5. **Error Handling:** Comprehensive error collection with context (row number, column, original value) and configurable failure strategies.

It's primarily built for Laravel (using Eloquent), but I tried to keep the internal processing logic clean.

Here is a quick example of a definition:

// UserImporter.php
public function getConfig(): IngestConfig
{
return IngestConfig::for(User::class)
->fromSource(SourceType::FTP, ['path' => '/daily_dump.csv'])
->keyedBy('email')
->mapAndTransform('status', 'is_active', fn($val) => $val === 'active');
}

I'm looking for feedback on the architecture, specifically:

* How I handle the `RowProcessor` logic
* Memory usage patterns with large files (tested with 2GB+ CSVs)
* Error recovery and retry mechanisms

**Repository:** [https://github.com/zappzerapp/laravel-ingest](https://github.com/zappzerapp/laravel-ingest)

Thanks!

https://redd.it/1qw3obv
@r_php
Fastrack your API integrations with the connector pattern

Hi all,

It's been a while since I've written anything meaningful on my blog - it's not easy finding the time to write these!

I've recently built a simple package for my work projects and feel it could also be a useful tool for other Laravel devs out there.

This is a quick tutorial on using the package and the advantages it provides

Please do have a read and feel free to provide some feedback - that's the only way we're going to improve as developers!


https://christalks.dev/post/fastrack-your-api-integrations-with-the-connector-pattern-3104af04

https://redd.it/1qvl00r
@r_php
Who is hiring? / 15+ experienced Symfony developer

Hi, I am 15+ years of experienced Symfony developer who looking for new jobs. I am looking for remote symfony/full stack web development roles.

CV: https://emre.xyz/resume.pdf
Github: https://github.com/delirehberi

Thanks

https://redd.it/1quxwoe
@r_php
AuditTrailBundle now has a Symfony Flex recipe

AuditTrailBundle recipe has been merged into symfony/recipes-contrib.

This adds automatic bundle enabling and default configuration when installing the bundle.
Thanks to the Symfony team and maintainers for reviewing and accepting it.

https://redd.it/1qum3e4
@r_php
Should I contribute to open-source or just complain about stuff not working?

Using complex software is already hard, but contributing to it is a pain. But manageable, even fun, even useful.

I'm the lead of a small dev team that has been using Laminas and Mezzio before they were even called that.


In recent years, we have also been involved in pushing Laminas/Mezzio development forward, especially for the packages that we use every day.
At the end of the day, you gotta put your money where your mouth is.

How about you guys? What software are you using, authored by someone else, that you also contributed to?


https://getlaminas.org/blog/2026-01-14-call-for-contributors.html

https://redd.it/1qwhkyb
@r_php
my first project

hey guys! This is my first PHP project. It’s a website designed to practice reading code in different programming languages, where a new daily challenge appears in a random language every day (inspired by games like Wordle).

If anyone is interested in trying it out: https://dailycode.page.gd

I also made the project’s source code available on GitHub: https://github.com/rafssunny/dailycode

https://redd.it/1qwj01p
@r_php
Taylor just DM'd the guy who made Adonisjs 👀
https://redd.it/1qwjqcq
@r_php
Expression Parser in PHP/JS for form validation – feedback welcome

I built an expression parser used for form validation and calculated fields, with the same logic implemented in both PHP and JavaScript.

To test it properly, I set up two separate pages: one running the parser in JavaScript, one running the same expressions in PHP.

I’d really appreciate some help testing it:

Are there any inconsistencies or bugs between the PHP and JS versions?
Do you think any fundamental operators or functions are missing?

JS version: https://milkadmin.org/milk-admin/?page=expression-parser
PHP version: https://milkadmin.org/milk-admin/?page=expression-parser&action=php

For anyone interested in how the PHP version was built, I also wrote an article explaining the core steps involved in developing a mathematical expression parser:
– Splitting the input into tokens
– Building an Abstract Syntax Tree (AST)
– Recursively evaluating the AST

The article focuses on algorithms and data structures, not on any language-specific feature or library.

Article: https://www.milkadmin.org/article.php?id=07-ast

It’s meant as an introduction for those who enjoy understanding how things work under the hood.



https://redd.it/1qvtprr
@r_php
Are you using Leaf PHP?

While I like Laravel, I feel it's just too bloated for every project. I started using Leaf PHP, love it! clean API, lean and you can bring in Laravel stuff when needed.

Compared to the big two Laravel and Symfony, there's not much mention of other PHP frameworks.

Are you using Leaf? and can you describe the nature of your app. e.g. "Hobby", "Commercial with 10k users" etc...

Feel free to elaborate on why you prefer leaf and any other thoughts you may have on it.

Thanks!

https://redd.it/1qwouxa
@r_php
Preparing for the job

Hello!

In three weeks I start with my first fulltime job as a backend PHP dev. I have some experience with Symfony at an internship/summer job. But to prepare for the job ahead I want to take these weeks to get some hands on experience again with PHP/Symfony.

I was thinking of creating a cool useful composer package from which I can learn a lot! Maybe something that Symfony/PHP/Composer is now missing. Anyone got cool ideas? Or any other ideas on how I can prepare myself for the job ahead? Maybe cool projects?

Thanks in advance!

https://redd.it/1qwrafh
@r_php
Symfony Components Tutorial

Is there any good tutorial about using Symfony Components in a PHP Project without necessarily using the entire Symfony Framework? Better still, on creating a framework from scratch out of Symfony components. Thanks.

https://redd.it/1qx2zyv
@r_php
Oracle - Passing null to parameter #X of type string is deprecated

I'm not a fan of not being able to pass nulls to some functions that expect strings, for example, trim(). I think being able to pass nulls to trim() would be a helpful language feature.

One specific example: Oracle treats empty strings as null. So, when I get a row from the database, the fields that I set to empty strings will be in the row array I get back. In the future, if I called strpos() on this null field, it will be a fatal error. I believe this only serves to make things more difficult and does not prevent any other errors.

Another example: a form where different users see different fields, but whatever text they type in will be run through trim(). A null is as good as an empty string to me in that case.


Is this a fair argument? Why or why not? I'm trying to understand the philosophy behind this language decision.

https://redd.it/1qx4m91
@r_php
Does Laravel AI SDK possess agent orchestration facilities?

I am reading the documentation and can't see anything along these lines.

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