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
I’m Jess Archer, Engineering Team Lead of Laravel Nightwatch, Ask Me Anything

Hey r/laravel,

On Monday, June 16 (Tuesday for me here in Australia), we’re launching Laravel Nightwatch, a fully managed platform for monitoring Laravel application performance, error tracking, and logging.

I'll be hosting an AMA next Thursday, June 19 to answer your questions about Nightwatch. Add your questions below!

I’ll be answering questions here on Reddit and live on the Laravel YouTube Channel!

https://redd.it/1lb0whf
@r_php
[RFC] A shell noscript wrapper for docker compose commands

Introducing the `d` noscript. [Github repo](https://github.com/mortenscheel/d)

This noscript was inspired by Laravel's `sail` noscript, which makes it somewhat easier to run commands in the laravel.test container.

The readme contains all the necessary documentation and examples, but here's a sample.

# Regular docker compose subcommand pass-through
d up -d
d logs -f

# Automatic resolution of artisan commands containing a colon
d migrate:fresh --seed

# Running an artisan command with XDebug enabled
d debug some:command --foo

# Using custom aliases, which can be both global and project specific
d pending # php artisan migrate:status --pending
d dev # npm run dev

# Choosing to run in a fresh container (default runs with exec in existing container)
d @a test -p # A @ prefix means use `docker compose run --rm --no-deps`

# Using environment variables to modify defaults
D_SERVICE=db D_USER=mysql d mysql --user root

Aliases and environment variables can be defined globally (`~/.d`) and in the project (`./.d`).

D_SERVICE=php # Which compose service to target
D_USER=laravel # Which container user to
D_SHELL=bash # What to use for `d shell`

*:*=php artisan # Pattern matching commands with colons
a=php artisan # Regular alias
tinker=a tinker # Aliases can be used recursively
test=@a test -p # Run mode can be defined on the alias

I've been using an earlier version of this tool, which was written in Laravel Zero, for several years, and I can't live without it. But the PHP implementation (using Symfony Process) has some limitations regarding interactivity and TTY, so I decided to port it to a pure shell noscript.

I'd love to hear your comments and ideas for improvements.

https://redd.it/1lb7iao
@r_php
Are PHP Type Hints really required when using static code analysis tools like PHPStan?

In my current PHP8 project, I started in November, I use consequently type hinting.

Now I jumped to PHPStan at Level 8 and starts to fulfil the compliance requirements.
Nice tool btw.

Honestly, it is my first time to use phpstan, so this maybe be a blasphemy question.

Can some explain me when phpstan, etc. does a great work on checking code, keep variables consistencies and can be even enhanced to hard bleeding modes;

Why is it necessary to implement more and more performance killing runtime checks in a dynamic language?

I liked that type hints reduced the annotation orgies, but that cannot be the only reason?





https://redd.it/1lc0dqv
@r_php
Intelephense not indexing _ide_helper.php in Laravel project

Hey,
I'm having trouble getting Intelephense to index the `_ide_helper.php` file generated by `laravel-ide-helper`. I’ve tested this in both Emacs and Helix to rule out editor-specific issues — same result.

I’ve already:

* Increased `intelephense.files.maxSize` to 5MB,
* Verified it's located in the project root, and technically LSP must be able to index it
* Checked logs, but didn’t find anything useful.

Everything else in the project is indexed fine, it's just this helper file that seems to be ignored.

It can find the Auth facade from Illuminate/Foundation/Helpers, but not from the \_ide\_helper.php file.

Here's the example code where my LSP fails:

public function logout(): void
{
auth()->logout();
}

Any ideas on what might be going wrong, or what else I can check to get it fixed?

Appreciate any pointers!

https://redd.it/1lc2ol6
@r_php
Weekly /r/Laravel Help Thread

Ask your Laravel help questions here. To improve your chances of getting an answer from the community, here are some tips:

What steps have you taken so far?
What have you tried from the documentation?
Did you provide any error messages you are getting?
Are you able to provide instructions to replicate the issue?
Did you provide a code example?
Please don't post a screenshot of your code. Use the code block in the Reddit text editor and ensure it's formatted correctly.

For more immediate support, you can ask in the official Laravel Discord.

Thanks and welcome to the r/Laravel community!

https://redd.it/1lc57m5
@r_php
Who is using livewire with php n laravel ?

Is there anyone using livewire heavily ?

https://redd.it/1lc93vg
@r_php
Sublime Text setup for Laravel ..... (PLEASE!!!)

Ok. I've given it many months with PHPStorm and other setups --- and I DO NOT like any of them at all. I really really tried. There are a lot of cool things in there... but - After spending the last few days with my classic ol Sublime Text --- please please please do not make me go back... I require so very little. Someone out there - must have a setup that covers the basics.

I'm open to other ideas too. If you've got a PHPStorm setup that is somehow 5x better than what I've got worked out - or want to delete everything in mine -- and show me the light / I'll return the favor.

As it stands -- I'd rather work in Sublime - and then go into every file one by one - afterward in PHPStorm and hit save for formatting and things like that.

https://redd.it/1lcffgq
@r_php
Weekly Ask Anything Thread

Feel free to ask any questions you think may not warrant a post. Asking for help here is also fine.

https://redd.it/1lcijib
@r_php
Weekly help thread

Hey there!

This subreddit isn't meant for help threads, though there's one exception to the rule: in this thread you can ask anything you want PHP related, someone will probably be able to help you out!

https://redd.it/1lclbxt
@r_php
What VS Code plugins do you install now that Laravel official plugin is released?

I had a very old vscode installation with a ton of php/html/laravel plugins and I want to clean up what's no longer necessary or add something new if needed.

So, what other extensions do you install on a fresh vs code setup (besides the official Laravel plugin)?

https://redd.it/1lcnmpb
@r_php
MCP Server Bundle for Symfony

Hello everyone,

I released a Symfony bundle aiming to ease the development of Model Context Protocol (MCP) servers using Symfony.

If you've never heard of MCP before, it is the new big thing in the AI revolution.

To make it simple, Large Language Models (LLMs) are powerful, but they do not have access to the outside world: they cannot navigate on the Internet, browse their host machine’s file system, access an external database…

However, these LLMs can be enhanced with capacities, which are called tools.

These tools are not built into the LLM. They’re provided by you, the developer.
The way it works is the Agent (An app using an LLM to function) is given, in addition to the prompt, a list of external tools which can be used to fulfill the user’s need.

The LLM then decides if it’s able to fulfill the request on its own (like craft a piece of text) or if it needs to use a tool that matches its needs in the provided list.

The Model Context Protocol defines a way of communicating between what could be called “agents” (Clients) and external apps (Servers).

This bundle allows for easy integration of MCP capabilities into any existing Symfony project.

Read more on the GitHub page : https://github.com/EdouardCourty/mcp-server-bundle

Feel free to comment my work, I'll be happy to discuss with the community 😄

https://redd.it/1lcr77s
@r_php
Any way to use Swoole as a drop-in replacement for Apache?

I have a SaaS company. I have been working on it for several years now and the issue is - when I started, I used Apache and the LAMP stack. Basically we provide a complete website builder like Shopify - so I require features like complex operations with products and their variations, custom template language parsing, etc. and Apache has served me really well with all the feature-related needs.

However, as we grow, I am really feeling the need to switch the website to a faster alternative like Swoole. The only issue is - I don't have the luxury to spend a few months rewriting.

Currently I have my own custom router. And I am using regular php syntax - sessions, cookies, $_SERVER, die() etc.

Is there any way that, just for the time being, I could create a server.php and set it to:

Redirect everything to router.php
Set all the variables that are needed by regular php
Define some php functions that function differently in Swoole (if any)
Clear all global variables so everything resets on page reload

I know that this is probably going to reduce Swoole's benefits, but I just need a one-time solution so I can quickly switch, then I'll gradually rewrite parts of the website in raw swoole.

https://redd.it/1lcs36y
@r_php
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