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
What CMS do you use?

I am curious to learn what CMS you use when you are building a content-heavy website? I have some experience with Symfony through Shopware 6 for work and a personal project (implementation of a third party API), but I have yet to build a website from scratch with it. I tried Sulu (its upcoming version 3 looks promising) and EasyAdmin. I like the latter since it integrates with your own entities, but I also tried Filament for Laravel, which is similar but miles ahead.

What do you use when the project requires one? Something custom? Or perhaps something not based on Symfony, when there's a lot of content to be edited?

https://redd.it/1n0f8du
@r_php
Configuring Laravel Boost MCP with GitHub Copilot in PHPStorm for DDEV on Windows WSL

Hey r/laravel,

Running Laravel 12 on DDEV in a Windows WSL/Mac setup, I had trouble with Laravel Boost's MCP server not connecting properly. I Googled for a bit and didn't find many resources on it, so I wanted to share my solution—it might assist some of you. Have a great day!

for Mac/Linux;

{
"servers": {
"my-laravel-project": {
"type": "stdio",
"command": "ddev",
"args": [
"exec",
"php",
"artisan",
"boost:mcp"
]
}
}
}


For Windows with WSL

{
"servers": {
"my-laravel-project": {
"type": "stdio",
"command": "wsl.exe",
"args": [
"-d",
"Ubuntu",
"--cd",
"/path/to/my-laravel-project",
"ddev",
"exec",
"php",
"artisan",
"boost:mcp"
]
}
}
}


https://redd.it/1n0gz1g
@r_php
🚀 Just released: Laravel Fast2SMS package – OTPs, DLT & Quick SMS made simple

Hey folks,

I built a Laravel package that makes sending SMS through Fast2SMS API way easier.

If you’ve ever dealt with raw SMS APIs, you know the pain — long payloads, DLT templates, sender IDs, juggling queues, etc. So I wrapped it all in a Laravel-fluent API that feels natural to work with.

# Features at a glance

Quick SMS
OTP support (super easy)
DLT template messages
Queue & scheduling support
Wallet balance check
Laravel Notifications integration

# Code example (it’s really this simple)

Fast2sms::otp('9999999999', '123456');

Or with a DLT template:

Fast2sms::dlt('9999999999', 'TEMPLATEID', ['John Doe'], 'SENDERID');

# 📦 Repo

👉 https://github.com/itxshakil/laravel-fast2sms

I’d love feedback, issues, or ideas for new features. And if you find it useful, a on GitHub would mean a lot 🙂

https://redd.it/1n0u66a
@r_php
🚀 Just released: Laravel Fast2SMS package – OTPs, DLT & Quick SMS made simple

Hey folks,

I built a Laravel package that makes sending SMS through Fast2SMS API way easier.

If you’ve ever dealt with raw SMS APIs, you know the pain — long payloads, DLT templates, sender IDs, juggling queues, etc. So I wrapped it all in a Laravel-fluent API that feels natural to work with.

# Features at a glance

Quick SMS
OTP support (super easy)
DLT template messages
Queue & scheduling support
Wallet balance check
Laravel Notifications integration

# Code example (it’s really this simple)

Fast2sms::otp('9999999999', '123456');


Or with a DLT template:

Fast2sms::dlt('9999999999', 'TEMPLATEID', ['John Doe'], 'SENDERID');


# 📦 Repo

👉 https://github.com/itxshakil/laravel-fast2sms

I’d love feedback, issues, or ideas for new features. And if you find it useful, a on GitHub would mean a lot 🙂

https://redd.it/1n0u75l
@r_php
Anyone using ADR + AAA tests in PHP/Symfony ?

# ADR + AAA in Symfony

I’ve been experimenting with an ADR (Action–Domain–Response) + AAA pattern in Symfony, and I’m curious if anyone else is using this in production, and what your thoughts are.

The idea is pretty straightforward:

- **Action** = a super thin controller that only maps input, calls a handler, and returns a JsonResponse.
- **Domain** = a handler with a single `__invoke()` method, returning a pure domain object (like `OrderResult`). No JSON, no HTTP, just business logic.
- **Response** = the controller transforms the DTO into JSON with the right HTTP code.

This way, unit tests are written in a clean AAA style (Arrange–Act–Assert) directly on the output object, without parsing JSON or booting the full kernel.

---

## Short example

```php
final class OrderResult {
public function __construct(
public readonly bool $success,
public readonly string $message = '',
public readonly ?array $data = null,
) {}
}

final class CreateOrderHandler {
public function __construct(private readonly OrderRepository $orders) {}
public function __invoke(OrderInput $in): OrderResult {
if ($this->orders->exists($in->orderId)) return new OrderResult(false, 'exists');
$this->orders->create($in->orderId, $in->customerId, $in->amountCents);
return new OrderResult(true, '');
}
}

#[Route('/api/v1/orders', methods: ['POST'])]
public function __invoke(OrderInput $in, CreateOrderHandler $h): JsonResponse {
$r = $h($in);
return new JsonResponse($r, $r->success ? 200 : 400);
}
````

And the test (AAA):

```php
public function test_creates_when_not_exists(): void {
$repo = $this->createMock(OrderRepository::class);
$repo->method('exists')->willReturn(false);
$repo->expects($this->once())->method('create');

$res = (new CreateOrderHandler($repo))(new OrderInput('o1','c1',2500));

$this->assertTrue($res->success);
}
```

---

## What I like about this approach

* Controllers are ridiculously simple.
* Handlers are super easy to test (one input → one output).
* The same handler can be reused for REST, CLI, async jobs, etc.

---

Open to any feedback — success stories, horror stories, or alternatives you prefer.


https://redd.it/1n0y29b
@r_php
Media is too big
VIEW IN TELEGRAM
Solving Concurrent User Sorting with Fractional Ranking in Laravel

https://redd.it/1n1ax1y
@r_php
I built a Centralized MTurk HIT Catcher with PHP + Usernoscripts

I built a small tool to centralize MTurk HIT catching.

\- Paste multiple HIT set IDs into a PHP page

\- Toggle ON/OFF catching via a server

\- Usernoscripts connect to MTurk accounts and auto-accept HITs

https://redd.it/1n1aj56
@r_php
Retiring code optimizes resources

The article talks of reasons why software is abandoned.

Ultimately, it leads me to believe that abandoning code optimizes costs and allows CTOs to reallocate resources to more productive avenues.


What are your stories related to abandoned software?


https://getlaminas.org/blog/2025-08-27-how-the-laminas-project-determines-when-to-abandon-a-library.html

https://redd.it/1n1dq11
@r_php
What if we improve the way developers are given access to databases

Adminer, DBeaver, MySQL Workbench, PhpMyAdmin, many developers use those tools every day to get access to databases. The problem ? They use the database credentials to connect to those tools.

What if we could improve that?

https://www.jaxon-php.org/blog/2025/08/what-if-we-improve-how-developers-access-databases.html

The article is also published on Medium.
https://medium.com/p/64cd7e2bef56

Note: built with PHP and Laravel.

https://redd.it/1n1skol
@r_php
I built a Centralized MTurk HIT Catcher with PHP + Usernoscripts

I built a small tool to centralize MTurk HIT catching.

\- Paste multiple HIT set IDs into a PHP page

\- Toggle ON/OFF catching via a server

\- Usernoscripts connect to MTurk accounts and auto-accept HITs

https://redd.it/1n23c6q
@r_php
AWS WAF Firewall rules for a Symfony application

Is anyone aware of a rule set for AWS WAF firewall that would work with a Symfony application?

I know there exists rule sets for a PHP application and a Wordpress application, but there's nothing specifically for Symfony.

Has anyone written or configured there own that they'd be willing to share?

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