A simple, lightweight PHP framework - Swidly
I've built a lightweight PHP framework that runs straight out of the box—no Composer, no downloads, no third-party dependencies.
tiger2380/Swidly-MVC-Framework: 'Not Another' PHP MVC
I get it—another PHP MVC, really? But Swidly isn’t trying to reinvent the wheel. It’s designed to strip away the clutter and complexity with a clean, intuitive routing system. No steep learning curve. No bloated setup. Just simple, functional code that gets you moving fast.
If you hit any snags or have feature ideas, I’d love to hear from you.
Thanks!
https://redd.it/1mkwpyp
@r_php
I've built a lightweight PHP framework that runs straight out of the box—no Composer, no downloads, no third-party dependencies.
tiger2380/Swidly-MVC-Framework: 'Not Another' PHP MVC
I get it—another PHP MVC, really? But Swidly isn’t trying to reinvent the wheel. It’s designed to strip away the clutter and complexity with a clean, intuitive routing system. No steep learning curve. No bloated setup. Just simple, functional code that gets you moving fast.
If you hit any snags or have feature ideas, I’d love to hear from you.
Thanks!
https://redd.it/1mkwpyp
@r_php
GitHub
GitHub - tiger2380/Swidly-MVC-Framework: 'Not Another' PHP MVC
'Not Another' PHP MVC. Contribute to tiger2380/Swidly-MVC-Framework development by creating an account on GitHub.
Exclude Models With except() Method in Laravel 12.22
https://nabilhassen.com/exclude-models-with-except-method-in-laravel-1222
https://redd.it/1mky7gm
@r_php
https://nabilhassen.com/exclude-models-with-except-method-in-laravel-1222
https://redd.it/1mky7gm
@r_php
Nabilhassen
Exclude Models With except() Method in Laravel 12.22
Laravel 12.22 adds except() method to Eloquent Builder to exclude models or collection of models from queries, simplifying exclusions by model instances.
Laravel MCP Server v1.4.0: Auto-Generate API Tools from Swagger Specs
https://github.com/opgginc/laravel-mcp-server
https://redd.it/1ml269q
@r_php
https://github.com/opgginc/laravel-mcp-server
https://redd.it/1ml269q
@r_php
GitHub
GitHub - opgginc/laravel-mcp-server: A Laravel package for implementing secure Model Context Protocol servers using Streamable…
A Laravel package for implementing secure Model Context Protocol servers using Streamable HTTP and SSE transport, providing real-time communication and a scalable tool system for enterprise environ...
I created a Ruby on Rails-like framework in PHP (Still in progress, see the diagram and let me know your thoughts)
https://github.com/al3rez/tracks
https://redd.it/1mlgy5w
@r_php
https://github.com/al3rez/tracks
https://redd.it/1mlgy5w
@r_php
GitHub
GitHub - al3rez/tracks: A Ruby on Rails-like PHP framework
A Ruby on Rails-like PHP framework. Contribute to al3rez/tracks development by creating an account on GitHub.
Generate Postman Collections from Laravel Routes
https://laravel-news.com/generate-postman-collections-from-laravel-routes
https://redd.it/1mkvpd6
@r_php
https://laravel-news.com/generate-postman-collections-from-laravel-routes
https://redd.it/1mkvpd6
@r_php
Laravel News
Generate Postman Collections from Laravel Routes - Laravel News
The yasin_tgh/laravel-postman Composer package generates Postman collections from your Laravel routes with intelligent organization and rich documentation capabilities.
How to participate in RFC?
The php 9.0 RFC is ongoing and without a date yet. I've been hopping, and would like to suggest, that support for typed array or collections are added to the return value of methods. Right now, one can only "hint" it with comments on the method e.g. @returns MyClass.
Of course I can add my own classes to do the work, but given that the use case is so commonI think it is a feature that would enhance the language, make it more predictable and reduce errors.
So... Do you guys know where/ how and to who i could suggest this enhancement, if possible at all?
https://redd.it/1mlmywe
@r_php
The php 9.0 RFC is ongoing and without a date yet. I've been hopping, and would like to suggest, that support for typed array or collections are added to the return value of methods. Right now, one can only "hint" it with comments on the method e.g. @returns MyClass.
Of course I can add my own classes to do the work, but given that the use case is so commonI think it is a feature that would enhance the language, make it more predictable and reduce errors.
So... Do you guys know where/ how and to who i could suggest this enhancement, if possible at all?
https://redd.it/1mlmywe
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Laravel site apparently hacked
Hi. I have a problem with my personal site on Laravel and Php. My table user is filled with data I don't know.
My web app in Laravel doesn't have an option to add users so I don't know how the attacker add data to user table.
Where can I check on my Laravel app?
My server is Digital.ocean.
My db is MariaDb and only listen on localhost.
The server access is only with ssh password that I only know.
I changed my user ssh password the month before, but yesterday again my user table is filled with strange data.
Thanks.
https://redd.it/1mlyxaf
@r_php
Hi. I have a problem with my personal site on Laravel and Php. My table user is filled with data I don't know.
My web app in Laravel doesn't have an option to add users so I don't know how the attacker add data to user table.
Where can I check on my Laravel app?
My server is Digital.ocean.
My db is MariaDb and only listen on localhost.
The server access is only with ssh password that I only know.
I changed my user ssh password the month before, but yesterday again my user table is filled with strange data.
Thanks.
https://redd.it/1mlyxaf
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
How do you use twig live components?
I really like using Twig Live Components to make a page interactive, so my whole page is a Live Component. This makes communication between properties and updating state really easy.
But is this a misuse of Live Components, since they are typically meant to be smaller components that compose the page, not the whole page itself? So currently in my Project the twig Template rendered by the controller is just a wrapper for one twig live component that contains all the HTML separated by includes.
I tried separating one page into smaller Live Components, but the overhead of adding so many events for communication between them just doesn’t seem worth it to me.
I just want to hear your opinion on how you use Live Components and how they should be used.
https://redd.it/1mm31b5
@r_php
I really like using Twig Live Components to make a page interactive, so my whole page is a Live Component. This makes communication between properties and updating state really easy.
But is this a misuse of Live Components, since they are typically meant to be smaller components that compose the page, not the whole page itself? So currently in my Project the twig Template rendered by the controller is just a wrapper for one twig live component that contains all the HTML separated by includes.
I tried separating one page into smaller Live Components, but the overhead of adding so many events for communication between them just doesn’t seem worth it to me.
I just want to hear your opinion on how you use Live Components and how they should be used.
https://redd.it/1mm31b5
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
A Week of Symfony #971 (August 4–10, 2025)
https://symfony.com/blog/a-week-of-symfony-971-august-4-10-2025?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1mmcoww
@r_php
https://symfony.com/blog/a-week-of-symfony-971-august-4-10-2025?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1mmcoww
@r_php
Symfony
A Week of Symfony #971 (August 4–10, 2025) (Symfony Blog)
This week, Symfony completed the migration to PHPUnit 12 in the 7.4 branch, which required many changes during the past weeks, such as replacing annotations with attributes. In addition, we updated th…
What is your opinion about Ziggy in Interia applications?
I have started developing an application using Laravel and InertiaJS a few months ago. At this time I bootstrapped the project with one of the Laravel starter templates. By default this templates come with Ziggy preinstalled. My first thought was: cool feature, so I don't have to reference the paths directly in the client-side navigation, but can fall back on the route names.
As the application has grown and more and more routes have been added, I have become increasingly concerned about performance and security. Each Interia Response contains a ziggy object with all routes of my application.
The object includes routes to sensitive parts of the application like admin area, horizon etc. These routes are specially secured, but I still think that not every user should know about them.
Due to the growing number of routes, the Ziggy object is currently 170kb in size. This means that every Interia Response is 170kb larger than it needs to be. I think that even with a small number of users, this quickly adds up.
What is your opinion on this? Do you still use Ziggy despite these drawbacks?
https://redd.it/1mmfekn
@r_php
I have started developing an application using Laravel and InertiaJS a few months ago. At this time I bootstrapped the project with one of the Laravel starter templates. By default this templates come with Ziggy preinstalled. My first thought was: cool feature, so I don't have to reference the paths directly in the client-side navigation, but can fall back on the route names.
As the application has grown and more and more routes have been added, I have become increasingly concerned about performance and security. Each Interia Response contains a ziggy object with all routes of my application.
The object includes routes to sensitive parts of the application like admin area, horizon etc. These routes are specially secured, but I still think that not every user should know about them.
Due to the growing number of routes, the Ziggy object is currently 170kb in size. This means that every Interia Response is 170kb larger than it needs to be. I think that even with a small number of users, this quickly adds up.
What is your opinion on this? Do you still use Ziggy despite these drawbacks?
https://redd.it/1mmfekn
@r_php
Reddit
From the laravel community on Reddit
Explore this post and more from the laravel community
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/1mmnsnr
@r_php
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/1mmnsnr
@r_php
Laravel
Installation - Laravel 12.x - The PHP Framework For Web Artisans
Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
I made a neovim plugin to use psysh without leaving my editor (php-tinker.nvim)
Hey all,
I've got a new plugin for the 4 of you using neovim to write PHP.
From any Symfony, WordPress, Laravel, or any Composer-autoloaded project, you can test out your janky code right from your editor without opening your browser or opening a separate terminal window.
There's not much more to it than that: it's psysh in Neovim! Check out the plugin repo to get started.
https://redd.it/1mmo60c
@r_php
Hey all,
I've got a new plugin for the 4 of you using neovim to write PHP.
psysh and Tinkerwell are great REPLs, but none of them have my ~~cursed~~beloved custom vim keymaps. However, thanks to Saeed Vaziry's work on TweakPHP and its client, this plugin gives you the power of all the aforementioned tools right in Neovim!From any Symfony, WordPress, Laravel, or any Composer-autoloaded project, you can test out your janky code right from your editor without opening your browser or opening a separate terminal window.
There's not much more to it than that: it's psysh in Neovim! Check out the plugin repo to get started.
https://redd.it/1mmo60c
@r_php
GitHub
saeedvaziry - Overview
saeedvaziry has 49 repositories available. Follow their code on GitHub.
I made a neovim plugin to use artisan tinker without leaving my keymaps behind (php-tinker.nvim)
Hey all,
I've got a new plugin for the 4 of you using neovim to build Laravel apps.
From any Laravel project (or any Composer-autoloaded project) you can test out your janky code or accidentally create 5000 fake users right from your editor without opening your browser or running your console command 30 times.
There's not much more to it than that: it's psysh in Neovim! Check out the plugin repo to get started.
https://redd.it/1mmo5y7
@r_php
Hey all,
I've got a new plugin for the 4 of you using neovim to build Laravel apps.
psysh, php artisan tinker, and Tinkerwell are all great REPLs, but none of them have my ~~cursed~~beloved custom vim keymaps. However, thanks to Saeed Vaziry's work on TweakPHP and its client, this plugin gives you the power of all the aforementioned tools right in Neovim!From any Laravel project (or any Composer-autoloaded project) you can test out your janky code or accidentally create 5000 fake users right from your editor without opening your browser or running your console command 30 times.
There's not much more to it than that: it's psysh in Neovim! Check out the plugin repo to get started.
https://redd.it/1mmo5y7
@r_php
GitHub
saeedvaziry - Overview
saeedvaziry has 49 repositories available. Follow their code on GitHub.
Message Channels: Zero-Configuration Async Processing
https://dariuszgafka.medium.com/message-channels-zero-configuration-async-processing-7d0d3ef73b2f
https://redd.it/1mmthkf
@r_php
https://dariuszgafka.medium.com/message-channels-zero-configuration-async-processing-7d0d3ef73b2f
https://redd.it/1mmthkf
@r_php
Medium
Message Channels: Zero-Configuration Async Processing
Learn how declarative programming create reliable background processing with zero configuration overhead.
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/1mn26ql
@r_php
Feel free to ask any questions you think may not warrant a post. Asking for help here is also fine.
https://redd.it/1mn26ql
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
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/1mn55g5
@r_php
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/1mn55g5
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
SimpleOTP - Generate, Send and Verify OTP across different channels with ease.
https://github.com/Horlerdipo/simple-otp
https://redd.it/1mn6nn9
@r_php
https://github.com/Horlerdipo/simple-otp
https://redd.it/1mn6nn9
@r_php
GitHub
GitHub - Horlerdipo/simple-otp
Contribute to Horlerdipo/simple-otp development by creating an account on GitHub.
Someone just made a YouTube tutorial for my Laravel-based ERP project!
Hi All,
Just discovered that someone created a video tutorial for Samarium, the Laravel based open sourcet ERP project I have been working on. Pretty surreal moment!
I have been posting about its updates here as well before. I was thinking of posting here when it is 0.9.7 but I just saw the video in youtube. Its the first time someone has made a youtube video of the project so i got kinda excited and thought of sharing here.
The video walks through the installation process and gives a nice overview of what the project is about. Always amazing to see when people in the community take time to create content around open source projects.
For those interested:
GitHub: [https://github.com/oitcode/samarium](https://github.com/oitcode/samarium)
YouTube tutorial: https://www.youtube.com/watch?v=fD4Wr8cT1CU
As the author, I know there are many bugs and lacking features in the project maybe, and also many part of the code needs refactor. But seeing a video someone else has made - that really gives added motivation.
Also, thanks to all the comment and feedback I had got here when i had posted before. I have implemented some of those, and it has been helpful.
Thanks and have a good time all.
https://redd.it/1mnkviv
@r_php
Hi All,
Just discovered that someone created a video tutorial for Samarium, the Laravel based open sourcet ERP project I have been working on. Pretty surreal moment!
I have been posting about its updates here as well before. I was thinking of posting here when it is 0.9.7 but I just saw the video in youtube. Its the first time someone has made a youtube video of the project so i got kinda excited and thought of sharing here.
The video walks through the installation process and gives a nice overview of what the project is about. Always amazing to see when people in the community take time to create content around open source projects.
For those interested:
GitHub: [https://github.com/oitcode/samarium](https://github.com/oitcode/samarium)
YouTube tutorial: https://www.youtube.com/watch?v=fD4Wr8cT1CU
As the author, I know there are many bugs and lacking features in the project maybe, and also many part of the code needs refactor. But seeing a video someone else has made - that really gives added motivation.
Also, thanks to all the comment and feedback I had got here when i had posted before. I have implemented some of those, and it has been helpful.
Thanks and have a good time all.
https://redd.it/1mnkviv
@r_php
GitHub
GitHub - shyamsitaula/samarium: Open-source business management system with ERP, POS, invoicing, and CMS features. Laravel-based…
Open-source business management system with ERP, POS, invoicing, and CMS features. Laravel-based, Docker-ready. Still in active development. - shyamsitaula/samarium
No longer able to pass null into jsondecode?
We are upgrading a legacy web application from 8.0 to 8.1 (I know, don't worry, we're gonna catch up more than that) and I was dismayed to see all over my application a deprecation notice of passing \`null\` as the first argument to \`json\decode`. A lot of places in our code we seem to be relying on this to fail parsing and return `null` and then checking the results for `is_null`, rather than only parsing if the thing to parse isn't `null`. I kind of get why this change is happening (better typing by only allowing `string` in the argument) and we can update all of our calls to cast the thing we're parsing as a string, but it's quite a bit of disruption.
The reason I'm posting though, is that I can't find any history or discussion of this change anywhere. The official docs for `json_decode` have no mention of the change, and I can't find an RFC or anything. Does anyone have any links they can share?
https://redd.it/1mnlozn
@r_php
We are upgrading a legacy web application from 8.0 to 8.1 (I know, don't worry, we're gonna catch up more than that) and I was dismayed to see all over my application a deprecation notice of passing \`null\` as the first argument to \`json\decode`. A lot of places in our code we seem to be relying on this to fail parsing and return `null` and then checking the results for `is_null`, rather than only parsing if the thing to parse isn't `null`. I kind of get why this change is happening (better typing by only allowing `string` in the argument) and we can update all of our calls to cast the thing we're parsing as a string, but it's quite a bit of disruption.
The reason I'm posting though, is that I can't find any history or discussion of this change anywhere. The official docs for `json_decode` have no mention of the change, and I can't find an RFC or anything. Does anyone have any links they can share?
https://redd.it/1mnlozn
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
How does symfonys autowireing feature differentiates between services and plain classes?
In symfony everything in src can be a service but how does it know which class is a service and which is a plain object that the user wants to instatiate himself?
https://redd.it/1mo1e8b
@r_php
In symfony everything in src can be a service but how does it know which class is a service and which is a plain object that the user wants to instatiate himself?
https://redd.it/1mo1e8b
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
SymfonyCon Amsterdam 2025: Unconference Track at SymfonyCon Amsterdam 2025
https://symfony.com/blog/symfonycon-amsterdam-2025-unconference-track-at-symfonycon-amsterdam-2025?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1mo7wm5
@r_php
https://symfony.com/blog/symfonycon-amsterdam-2025-unconference-track-at-symfonycon-amsterdam-2025?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1mo7wm5
@r_php
Symfony
SymfonyCon Amsterdam 2025: Unconference Track at SymfonyCon Amsterdam 2025 (Symfony Blog)
SymfonyCon’s Unconference track is open to all attendees! Share your ideas in a 20-minute talk! No need to be a pro speaker. Apply now and be part of something spontaneous and powerful.