PHP Reddit – Telegram
PHP Reddit
34 subscribers
289 photos
37 videos
24.8K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
Existing Laravel app now needs an API

Hey all

I build a Laravel app with Inertia for a client a couple of years back and it's still working perfectly. My client now wants a mobile app as part of the solution which will need to access the data.

So...add an API with JWT to the existing project and make use of services to share code, or create a separate API project accessing the same database or something else?

I'm sure others have faced this issue so interested to hear what swayed the decision.

Cheers.

https://redd.it/1njgct3
@r_php
Laravel MultiTenant, MultiDatabase (JOBS)

Bom, estou desenvolvendo um cardápio online totalmente em Laravel. A aplicação já estava praticamente pronta, mas tive a ideia de transformá-la em multi-tenant. Grande parte já está funcionando, porém me deparei com um problema.

Tenho um banco principal, que vou chamar de "Principal", e os bancos dos tenants: "Tenant1", "Tenant2", e assim por diante. Estou utilizando filas do Laravel porque também uso WebSocket (Laravel Reverb), além da integração com WhatsApp via Twilio.

Centralizei todos os jobs na tabela do banco Principal, ou seja, todos os jobs de todos os tenants são enfileirados lá. Como a aplicação é um cardápio, ela não precisa ser 100% em tempo real, então esse modelo faz sentido.

O problema é que, quando envio um job para disparar mensagens no WhatsApp, a aplicação não consegue se conectar ao banco do tenant. Esse job chama um service responsável pelo envio.

Alguém aqui já trabalhou com filas em sistema multi-tenant no Laravel e poderia me dar uma luz?

https://redd.it/1njp5nf
@r_php
Any plans for proper PHP gRPC server support in 2025?

My organisation is looking at gRPC for internal service communications in place of our existing REST/GraphQL calls. But what’s holding us back from moving towards this direction is we have several PHP mature services that we actively maintain.

Given we have the PHP foundation established, gRPC is a feature I feel that is missing in today’s modern PHP toolkit that isn’t discussed about often, especially with it gaining popularity over the years. There’s full support running gRPC servers in other languages but not PHP.

Is this something that is on the radars of the PHP foundation? Or is the only way is to adopt 3rd party/community developed solutions which seems more like a workaround?

I’m talking about 3rd party plugins like https://github.com/khepin/php-grpc-server-notes which needs to run on RoadRunner, which aren’t actively maintained.

https://redd.it/1nk3paj
@r_php
PDFAI - A simple library for extracting data from PDFs for large language models

Hi /r/PHP,

I just published a new, simple, low dependency PHP library for extracting text and rasterizing PDF pages using the Poppler command line tools.

You can find out about it here:

https://github.com/1tomany/pdf-ai

It's perfect if you're building any type of RAG system, or just need a way to rasterize PDF pages to display as thumbnails. The extractors take advantage of generators so extracting multiple pages should be performant and light on memory.

I also released a Symfony bundle that uses a pattern I'm calling Action-Request-Response (I'm sure it has an actual name - please let me know if so). Instead of accessing the client directly, you create a request that is sent to a client which processes the request and sends back a response. This makes testing much easier because you can swap out the actual client implementation with a mock implementation without changing any of your business logic.

You can see it in action here:

https://github.com/1tomany/pdf-ai-bundle

This pattern can be used with the standalone library, you'll just be responsible for creating a container of extractors, injecting them into the factory, and using the factory to create the extractor.

Would love your feedback!

https://redd.it/1nk54tj
@r_php
We wanted to upgrade our Laravel 5.8 project to the latest version but first we needed strongly typed data classes with support for validating properties using Laravel's validation rules, as well as creating nested structures so I wrote this class and published in case it might be useful to someone.

This is meant to be used before you upgrade Laravel to a high enough version. After you do, you can start using `spatie/laravel-data` and remove this.

https://github.com/gigabites19/old-laravel-typed

https://redd.it/1nk9729
@r_php
Looking for TWIG PHP developer

I'm looking for TWIG PHP developer to help fix existing website issues between frontend and and admin backend if anyone could or take the gig

https://redd.it/1nkh6yv
@r_php
dumpall: A Simple CLI to Aggregate Laravel Files for Reviews & AI Workflows 🐱💻

Hey r/laravel! 👋 As a Laravel dev, I've wasted hours manually grabbing files from modules or migrations for reviews or AI prompts—tabs everywhere, context lost! 😩 So, I built **dumpall**, a lightweight CLI that dumps your Laravel project files into clean Markdown (fenced blocks with paths). It's Unix-simple, like cat for directories, and great for Artisan-heavy setups.

**5 Laravel use cases that save my sanity:**

* 🛠️ **Module Sharing**: Dump a full module (e.g., Modules/User/) for team/AI reviews—no folder-hopping.
* 🤖 **Feature Planning**: Aggregate Models & routes, paste to AI for new endpoints like past ones.
* 🐛 **Migration Debug**: database/migrations/ in one go—spot schema issues fast.
* 📦 **Config Archiving**: Combine config/ & Artisan files for audits/handovers.
* 🔍 **Model Refactoring**: Pull Models/ + Traits/ for AI-optimized suggestions.

Try it in your Laravel project:

npx dumpall . -e vendor -e node_modules --clip

It's open-source: 🌐 [dumpall.pages.dev](https://dumpall.pages.dev/) | 📦 [github.com/ThisIsntMyId/dumpall](https://github.com/ThisIsntMyId/dumpall). Feedback welcome—what Laravel workflow would you use this for? Let's iterate! 🚀

https://redd.it/1nkufx6
@r_php
Who's hiring/looking

This is a bi-monthly thread aimed to connect PHP companies and developers who are hiring or looking for a job.

Rules

No recruiters
Don't share any personal info like email addresses or phone numbers in this thread. Contact each other via DM to get in touch
If you're hiring: don't just link to an external website, take the time to describe what you're looking for in the thread.
If you're looking: feel free to share your portfolio, GitHub, … as well. Keep into account the personal information rule, so don't just share your CV and be done with it.

https://redd.it/1nkxkon
@r_php
Hi

I posted here before about my problem as an intery level and I depend a lot on ai to code:) also I guess I lack the basics so, help me by giving me like a good roadmap/course/book that helped you through the php/laravel stack…
So that I stop vibe coding cause I really hate that and I am really trying

https://redd.it/1nky2xo
@r_php
Introducing StreamPulse: Reliable Event Streaming for Laravel Applications

Hey Laravel community! I'm excited to share **StreamPulse**, a package I've been working on to solve distributed event streaming in the Laravel ecosystem.

# What is StreamPulse?

StreamPulse provides a clean, Laravel-native way to publish and consume events between distributed applications. Built on Redis Streams, it handles all the complexity of reliable messaging while giving you a simple API that feels right at home in Laravel.

# Key Features

* **Laravel-native experience** with an API that feels familiar
* **Transaction-aware publishing** \- events tied to your database transactions
* **Resilient processing** with automatic retries and dead letter queues
* **Monitoring dashboard** to visualize and manage your streams
* **Redis Streams integration** with plans for additional drivers

# Why I Built This

Working with distributed systems in Laravel, I found myself repeatedly implementing custom solutions for reliable cross-application messaging. StreamPulse abstracts all that complexity away, letting you focus on your business logic.

# Beta Release - Feedback Welcome!

This is a beta release, and I'd love your feedback! Try it out, open issues, suggest features, or contribute code.

 **Check it out:** [**github.com/saravanasai/stream-pulse**](vscode-file://vscode-app/c:/Users/sarav/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/workbench/workbench.html)

If you find this useful, please consider giving it a star!

https://redd.it/1nlbmj2
@r_php
A bundle to handle images

Hello,

I'm looking for a bundle to handle images upload and preview in the form. Actually i do things manually but i want a package that will reduce my work. Any idea please ? I'm on Symfony 7.3 actually.

https://redd.it/1nlh7ks
@r_php
This sub should have a rule not to promote Laravel packages.

Almost every day, I see developers here promoting their Laravel packages. They forget that this is a framework-specific extension.

This sub is for questions, news and comments on general PHP subjects. Framework-agnostic packages are also welcome to be promoted here. But damn, not everyone uses Laravel. There's also Symfony and about 7128 other frameworks. Use the appropriate sub for that. Thanks.

https://redd.it/1nli767
@r_php
Unknown column type "array" requested with VichUploaderBundle

I just installed https://github.com/dustin10/VichUploaderBundle in my app. I have a Product entity that will have many images, so i created a ProductImage entity for an image.

...
#[ORM\Entity]
#[Vich\Uploadable]
class ProductImage implements TimestampableInterface
{
use TimestampableTrait;

#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;

#[Vich\UploadableField(mapping: 'product_images', fileNameProperty: 'imageName', size: 'imageSize')]
private ?File $imageFile = null;

#[ORM\Column(nullable: true)]
private ?string $imageName = null;

#[ORM\Column(nullable: true)]
private ?int $imageSize = null;

#[ORM\Column]
private bool $isMain = false;

#[ORM\ManyToOne(inversedBy: 'images')]
#[ORM\JoinColumn(nullable: false)]
private ?Product $product = null;
...


But when i run symfony console make:migration i have an error:
In UnknownColumnType.php line 15:

Unknown column type "array" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You c
an get a list of all the known types with \Doctrine\DBAL\Types\Type::getTypesMap(). If this error occurs during database introspection then
you might have forgotten to register all database types for a Doctrine Type. Use AbstractPlatform#registerDoctrineTypeMapping() or have yo
ur custom types implement Type#getMappedDatabaseTypes(). If the type name is empty you might have a problem with the cache or forgot some m
apping information.


Any idea about it please ?

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