->onMessage(fn($msg) => print($msg->data . "\n"))
->run(function () {
echo "task running\n";
emit('Processing batch 1...');
emit('Processing batch 2...');
return 'done';
})
->wait();
```
No Task classes. No autoloading gymnastics. No framework. Just a closure.
I also tested `echo` inside workers and it works and streams in **real time**. Each line appeared live as the worker was sleeping, not buffered and dumped at the end. Concurrent workers don't garble each other's output either because each `echo` is wrapped in a structured JSON frame before being sent back to the parent. The would really extremely useful on CLI tooling applications and would benifit massively from its cross platform pool stability and realtime output streaming.
Other things it does that the alternatives don't:
- **"Self-healing pools and crash detection"** : if a worker segfaults or OOMs, the pool auto-respawns it and fires an `onWorkerRespawn` hook
- **"Exception teleportation"** : exceptions thrown inside workers come back to the parent with the original type and a merged stack trace showing both sides
- **"PHP-FPM like safety"** : you can literally configure a pool of workers to have limited timeout, memory, and max respawn rate.
- **Zero Heavy framework dependencies** : `composer require hiblaphp/parallel` and you're done
This project deservee much recognition and should be shown to many young people on how Pure PHP can do cool things. PHP Foundation and PHP influencers should promote open source projects that benefit the whole PHP in general not just frameworks and AI slop, to show that PHP can still compete with other languages in the realm of concurrency and parallelism. I'm glad that there's still people make PHP a better language as a whole and thinking forward.
https://redd.it/1sshzsp
@r_php
->run(function () {
echo "task running\n";
emit('Processing batch 1...');
emit('Processing batch 2...');
return 'done';
})
->wait();
```
No Task classes. No autoloading gymnastics. No framework. Just a closure.
I also tested `echo` inside workers and it works and streams in **real time**. Each line appeared live as the worker was sleeping, not buffered and dumped at the end. Concurrent workers don't garble each other's output either because each `echo` is wrapped in a structured JSON frame before being sent back to the parent. The would really extremely useful on CLI tooling applications and would benifit massively from its cross platform pool stability and realtime output streaming.
Other things it does that the alternatives don't:
- **"Self-healing pools and crash detection"** : if a worker segfaults or OOMs, the pool auto-respawns it and fires an `onWorkerRespawn` hook
- **"Exception teleportation"** : exceptions thrown inside workers come back to the parent with the original type and a merged stack trace showing both sides
- **"PHP-FPM like safety"** : you can literally configure a pool of workers to have limited timeout, memory, and max respawn rate.
- **Zero Heavy framework dependencies** : `composer require hiblaphp/parallel` and you're done
This project deservee much recognition and should be shown to many young people on how Pure PHP can do cool things. PHP Foundation and PHP influencers should promote open source projects that benefit the whole PHP in general not just frameworks and AI slop, to show that PHP can still compete with other languages in the realm of concurrency and parallelism. I'm glad that there's still people make PHP a better language as a whole and thinking forward.
https://redd.it/1sshzsp
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Utilizing Claude Skills in client projects
https://spatie.be/blog/utilizing-claude-skills-in-client-projects
https://redd.it/1ssglln
@r_php
https://spatie.be/blog/utilizing-claude-skills-in-client-projects
https://redd.it/1ssglln
@r_php
spatie.be
Utilizing Claude Skills in client projects
Building Custom Modules for PerfexCRM (CodeIgniter)
​
Hello,
I have experience with the CodeIgniter framework and I am now looking to start developing custom modules for PerfexCRM.
While I am familiar with the MVC structure, I want to ensure I follow Perfex’s specific architecture. Could you provide guidance on:
Hooks & Filters: What is the standard way to inject custom code into the admin UI without modifying core files?
Module Boilerplate: Is there a recommended starter kit or documentation for setting up the directory structure and the init.php file?
Database Migrations: How should I handle table creation and schema updates upon module activation?
If there are specific resources for CodeIgniter developers transitioning to Perfex module development, please let me know!
https://redd.it/1sskg9d
@r_php
​
Hello,
I have experience with the CodeIgniter framework and I am now looking to start developing custom modules for PerfexCRM.
While I am familiar with the MVC structure, I want to ensure I follow Perfex’s specific architecture. Could you provide guidance on:
Hooks & Filters: What is the standard way to inject custom code into the admin UI without modifying core files?
Module Boilerplate: Is there a recommended starter kit or documentation for setting up the directory structure and the init.php file?
Database Migrations: How should I handle table creation and schema updates upon module activation?
If there are specific resources for CodeIgniter developers transitioning to Perfex module development, please let me know!
https://redd.it/1sskg9d
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Migrator is a global CLI tool that analyses the complexity of upgrading or migrating a PHP project.
https://github.com/Kerrialn/migrator
https://redd.it/1ssjz21
@r_php
https://github.com/Kerrialn/migrator
https://redd.it/1ssjz21
@r_php
GitHub
GitHub - Kerrialn/migrator: CLI analysis tool to check the complexity of your PHP project for migration or upgrading.
CLI analysis tool to check the complexity of your PHP project for migration or upgrading. - Kerrialn/migrator
Your thoughts on reduced config files?
Hello there
I have been upgrading the Laravel with the Laravel Shift tool, but what it did was it removed e-v-e-r-y-t-h-i-n-g from my config files that represented default values.
It removed 90% of the content including comments.
Now I am wondering if I should follow this way, or keep them as they were before.
Personally I think that these configs are documenting stuff that me or some of my team friends could forget that are configurable at all, like i.e. cache prefix, BUT on the other hand this may be a hard fight for the future to keep these configuration files present without breaking the core.
Would appreciate the opinion of people who kept these config files unchanged and these who followed the way of "slimification". Which one seems to be better for you?
https://redd.it/1ssnggg
@r_php
Hello there
I have been upgrading the Laravel with the Laravel Shift tool, but what it did was it removed e-v-e-r-y-t-h-i-n-g from my config files that represented default values.
It removed 90% of the content including comments.
Now I am wondering if I should follow this way, or keep them as they were before.
Personally I think that these configs are documenting stuff that me or some of my team friends could forget that are configurable at all, like i.e. cache prefix, BUT on the other hand this may be a hard fight for the future to keep these configuration files present without breaking the core.
Would appreciate the opinion of people who kept these config files unchanged and these who followed the way of "slimification". Which one seems to be better for you?
https://redd.it/1ssnggg
@r_php
Reddit
From the laravel community on Reddit
Explore this post and more from the laravel community
Your Projections Will Fail — Make Them Resilient
https://medium.com/@dariuszgafka/your-projections-will-fail-make-them-resilient-e996650f56cf
https://redd.it/1sso588
@r_php
https://medium.com/@dariuszgafka/your-projections-will-fail-make-them-resilient-e996650f56cf
https://redd.it/1sso588
@r_php
Medium
Your Projections Will Fail — Make Them Resilient
There is a design decision that separates projections that recover from crashes automatically from ones that needs manual intervention.
Your Projections Will Fail — Make Them Resilient
https://medium.com/@dariuszgafka/your-projections-will-fail-make-them-resilient-e996650f56cf
https://redd.it/1sso4rw
@r_php
https://medium.com/@dariuszgafka/your-projections-will-fail-make-them-resilient-e996650f56cf
https://redd.it/1sso4rw
@r_php
Medium
Your Projections Will Fail — Make Them Resilient
There is a design decision that separates projections that recover from crashes automatically from ones that needs manual intervention.
Wonderful world of worktrees (and Laravel)
https://joeymckenzie.tech/blog/wonderful-world-of-worktrees-and-laravel
https://redd.it/1sssp7n
@r_php
https://joeymckenzie.tech/blog/wonderful-world-of-worktrees-and-laravel
https://redd.it/1sssp7n
@r_php
Announcing Plans for a PHP Ecosystem Survey and Report
https://thephp.foundation/blog/2026/04/22/announcing-plans-for-a-php-ecosystem-survey/
https://redd.it/1sstqzi
@r_php
https://thephp.foundation/blog/2026/04/22/announcing-plans-for-a-php-ecosystem-survey/
https://redd.it/1sstqzi
@r_php
thephp.foundation
Announcing Plans for a PHP Ecosystem Survey and Report
The PHP Foundation — Supporting, Advancing, and Developing the PHP Language
Laravel Reverb + Nuxt 3: Real-Time Messaging, Full Chat App Tutorial
https://youtu.be/bjcM8E5s8p0
https://redd.it/1ssveyq
@r_php
https://youtu.be/bjcM8E5s8p0
https://redd.it/1ssveyq
@r_php
YouTube
Laravel Reverb + Nuxt 3: Real-Time Messaging | Full Chat App Tutorial
In this video, we’ll build a complete real-time chat app using Laravel Reverb for the backend and Nuxt 3 for the frontend. I’ll walk you through the process of creating separate front-end and back-end projects that communicate seamlessly for real-time messaging.…
BETA laravel-permissions-redis v4.0.0-beta.1 — Redis-backed permissions, looking for feedback
Hi ,
Maintainer of [laravel-permissions-redis\](https://github.com/scabarcas17/laravel-permissions-redis) here. Just cut v4.0.0-beta.1 and I'm looking for people to test before I cut stable.
Quick context on what it is
Spatie's laravel-permission is great and it's what most people should use. This package is for a specific case: when you're doing so many permission checks per request (think: a complex admin panel rendering 200+ ACL-gated widgets, or API gateways authorizing fan-out calls) that the DB roundtrips from Spatie become measurable latency.
All reads go to Redis. The DB is only touched on cache miss (warm) or on write (assign/revoke). Writes invalidate and re-warm via events.
What's new in v4.0*
\- Permission `group` metadata preserved in Redis — previously `PermissionDTO::group` was always null, now it's backed by a Redis hash
\- `Role::hasPermission()` — direct role-level check via SISMEMBER
\- Blade directives accept guard override: `@role('admin', 'api')`
\- Queue-backed warming (`--queue` flag on the warm commands)
\- Multi-user-models — `user_model` config accepts an array (useful for User + Admin separation)
\- UUID/ULID role IDs
\- LRU eviction in the in-memory resolver cache + warm cooldown (protects long-running workers and DB storms)
\- `TransactionFailedException` — Redis EXEC failures are observable instead of silently dropped
Breaking
`PermissionRepositoryInterface` gained 3 methods for permission group metadata. If you only use the package as a consumer (not implementing the interface yourself), no code changes required — just run `php artisan permissions-redis:warm --fresh` after upgrade.
Install the beta
composer require scabarcas/laravel-permissions-redis:\^4.0@beta
Release notes: https://github.com/scabarcas17/laravel-permissions-redis/releases/tag/v4.0.0-beta.1
Honest disclaimers
\- This is beta. Don't deploy to prod yet.
\- If your app does <50 permission checks per request, Spatie is probably simpler and fine.
\- Needs Redis. If you can't run Redis, this is not for you.
Open to feedback on: API ergonomics, the upgrade path, whether the new interface methods feel natural, anything else. Will roll feedback into beta.2 or rc.1.
Thanks!
https://redd.it/1ssz0sd
@r_php
Hi ,
Maintainer of [laravel-permissions-redis\](https://github.com/scabarcas17/laravel-permissions-redis) here. Just cut v4.0.0-beta.1 and I'm looking for people to test before I cut stable.
Quick context on what it is
Spatie's laravel-permission is great and it's what most people should use. This package is for a specific case: when you're doing so many permission checks per request (think: a complex admin panel rendering 200+ ACL-gated widgets, or API gateways authorizing fan-out calls) that the DB roundtrips from Spatie become measurable latency.
All reads go to Redis. The DB is only touched on cache miss (warm) or on write (assign/revoke). Writes invalidate and re-warm via events.
What's new in v4.0*
\- Permission `group` metadata preserved in Redis — previously `PermissionDTO::group` was always null, now it's backed by a Redis hash
\- `Role::hasPermission()` — direct role-level check via SISMEMBER
\- Blade directives accept guard override: `@role('admin', 'api')`
\- Queue-backed warming (`--queue` flag on the warm commands)
\- Multi-user-models — `user_model` config accepts an array (useful for User + Admin separation)
\- UUID/ULID role IDs
\- LRU eviction in the in-memory resolver cache + warm cooldown (protects long-running workers and DB storms)
\- `TransactionFailedException` — Redis EXEC failures are observable instead of silently dropped
Breaking
`PermissionRepositoryInterface` gained 3 methods for permission group metadata. If you only use the package as a consumer (not implementing the interface yourself), no code changes required — just run `php artisan permissions-redis:warm --fresh` after upgrade.
Install the beta
composer require scabarcas/laravel-permissions-redis:\^4.0@beta
Release notes: https://github.com/scabarcas17/laravel-permissions-redis/releases/tag/v4.0.0-beta.1
Honest disclaimers
\- This is beta. Don't deploy to prod yet.
\- If your app does <50 permission checks per request, Spatie is probably simpler and fine.
\- Needs Redis. If you can't run Redis, this is not for you.
Open to feedback on: API ergonomics, the upgrade path, whether the new interface methods feel natural, anything else. Will roll feedback into beta.2 or rc.1.
Thanks!
https://redd.it/1ssz0sd
@r_php
GitHub
GitHub - scabarcas17/laravel-permissions-redis: A Redis-powered roles and permissions package for Laravel designed to eliminate…
A Redis-powered roles and permissions package for Laravel designed to eliminate repetitive database queries and deliver high-performance authorization. - scabarcas17/laravel-permissions-redis
PHP will get an AOT compiler from the Swoole team in 2027
>Swoole Compiler v4 introduces a native AOT (Ahead-of-Time) compiler that radically changes the landscape. The AOT compiler abandons traditional PHP interpretation and allows code to be compiled directly into native binary executables. Performance can increase by orders of magnitude compared to the classic interpreter, reaching levels comparable to Rust and Go.
News has appeared in the Chinese segment that Swoole Compiler 4 plans to release a real PHP AOT compiler, roughly 95% compatible with PHP. Some natural limitations like
We have effectively already entered the era of AOT compilation for scripting languages. Similar efforts are emerging for Python and Ruby, and TypeScript already has an AOT compiler.
What does this mean?
It means it will be possible to get rid of the PHP VM and JIT in favor of native code packages that can reach maximum performance. It also means that, in the future, PHP may have multiple runtime environments. And it means that if moving to a compiled language is not part of your plans, you risk being left behind.
I urge the entire professional community to take this trend seriously.
https://mp.weixin.qq.com/s/05I3xe4pgRJufSBG-8Gz6w
https://redd.it/1stb4o3
@r_php
>Swoole Compiler v4 introduces a native AOT (Ahead-of-Time) compiler that radically changes the landscape. The AOT compiler abandons traditional PHP interpretation and allows code to be compiled directly into native binary executables. Performance can increase by orders of magnitude compared to the classic interpreter, reaching levels comparable to Rust and Go.
News has appeared in the Chinese segment that Swoole Compiler 4 plans to release a real PHP AOT compiler, roughly 95% compatible with PHP. Some natural limitations like
$$, eval, and extract are understandable.We have effectively already entered the era of AOT compilation for scripting languages. Similar efforts are emerging for Python and Ruby, and TypeScript already has an AOT compiler.
What does this mean?
It means it will be possible to get rid of the PHP VM and JIT in favor of native code packages that can reach maximum performance. It also means that, in the future, PHP may have multiple runtime environments. And it means that if moving to a compiled language is not part of your plans, you risk being left behind.
I urge the entire professional community to take this trend seriously.
https://mp.weixin.qq.com/s/05I3xe4pgRJufSBG-8Gz6w
https://redd.it/1stb4o3
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Your SQLite database is silently getting wiped on every Forge deploy
https://laracraft.tech/en/blog/sqlite-on-laravel-forge-with-zero-downtime-deployments
https://redd.it/1stdcqk
@r_php
https://laracraft.tech/en/blog/sqlite-on-laravel-forge-with-zero-downtime-deployments
https://redd.it/1stdcqk
@r_php
Laracraft
Your SQLite database is silently getting wiped on every Forge deploy
Running SQLite on a Laravel Forge site with zero-downtime deployments? Every deploy quietly throws your entire production database away. Here is why it happens and how to fix it by moving the database into the shared storage directory.
PHPverse is back: the free online conference for the whole PHP community on June 9th!
https://jb.gg/w3z4ck
https://redd.it/1stdvqc
@r_php
https://jb.gg/w3z4ck
https://redd.it/1stdvqc
@r_php
JetBrains: Developer Tools for Professionals and Teams
JetBrains PHPverse 2026 – Bringing the PHP Community Together
Join us for a free virtual event bringing together developers, ideas, and energy from across the ecosystem. Enjoy insightful talks, exciting announcements, and a look at the future of PHP development.
PHPverse is back: the free online conference for the whole PHP community on June 9th!
https://jb.gg/w3z4ck
https://redd.it/1stdvbf
@r_php
https://jb.gg/w3z4ck
https://redd.it/1stdvbf
@r_php
JetBrains: Developer Tools for Professionals and Teams
JetBrains PHPverse 2026 – Bringing the PHP Community Together
Join us for a free virtual event bringing together developers, ideas, and energy from across the ecosystem. Enjoy insightful talks, exciting announcements, and a look at the future of PHP development.
PHPverse is back: the free online conference for the whole PHP community on June 9th!
https://jb.gg/w3z4ck
https://redd.it/1stdvf8
@r_php
https://jb.gg/w3z4ck
https://redd.it/1stdvf8
@r_php
JetBrains: Developer Tools for Professionals and Teams
JetBrains PHPverse 2026 – Bringing the PHP Community Together
Join us for a free virtual event bringing together developers, ideas, and energy from across the ecosystem. Enjoy insightful talks, exciting announcements, and a look at the future of PHP development.
Ember: Real-time dashboard for FrankenPHP
https://github.com/alexandre-daubois/ember
https://redd.it/1stgtue
@r_php
https://github.com/alexandre-daubois/ember
https://redd.it/1stgtue
@r_php
GitHub
GitHub - alexandre-daubois/ember: 🔥 Real-time terminal dashboard for Caddy servers, with built-in FrankenPHP support
🔥 Real-time terminal dashboard for Caddy servers, with built-in FrankenPHP support - alexandre-daubois/ember
Generate Apple and Google Wallet passes from Laravel
https://freek.dev/3108-generate-apple-wallet-and-google-wallet-passes-from-laravel
https://redd.it/1sthy46
@r_php
https://freek.dev/3108-generate-apple-wallet-and-google-wallet-passes-from-laravel
https://redd.it/1sthy46
@r_php
freek.dev
Generate Apple Wallet and Google Wallet passes from Laravel | freek.dev
A mobile pass is that thing in your iPhone's Wallet app. A boarding pass, a concert ticket, a coffee loyalty card, a gym membership. Apple calls them passes. Google calls them objects. Both Wallet apps let you generate them, hand them out, and push live updates…
What's New in Laravel 13.6: Debounceable Jobs, JSON Health Checks & Cloudflare Email
https://youtu.be/G7W0ynvR2hc
https://redd.it/1sthrej
@r_php
https://youtu.be/G7W0ynvR2hc
https://redd.it/1sthrej
@r_php
YouTube
What's New in Laravel 13.6: Debounceable Jobs, JSON Health Checks & Cloudflare Email
Laravel 13.6 brings three practical improvements for queued jobs, health checks, and mail integrations.
➡️ Debounceable queued jobs https://github.com/laravel/framework/pull/59507
➡️ JSON responses for the built-in health route https://github.com/larav…
➡️ Debounceable queued jobs https://github.com/laravel/framework/pull/59507
➡️ JSON responses for the built-in health route https://github.com/larav…
Would you be interested in a Laracon Canada?
I’m exploring the idea of a possible Laracon Canada and put together a short interest form to gauge whether there’s enough support to make it happen.
If you’d be interested in participating as an attendee, speaker, sponsor, or organizer, I’d love your input:
**https://laracon.ca**
The form asks about:
where you’re based in Canada
which city you’d be most likely to attend in
what time of year works best
how you’d want to be involved
This isn’t an official announcement, just an attempt to measure real interest and see what a Canadian Laracon could look like.
If this sounds like something you’d want to see, please fill it out and share it around.
https://redd.it/1stm2n7
@r_php
I’m exploring the idea of a possible Laracon Canada and put together a short interest form to gauge whether there’s enough support to make it happen.
If you’d be interested in participating as an attendee, speaker, sponsor, or organizer, I’d love your input:
**https://laracon.ca**
The form asks about:
where you’re based in Canada
which city you’d be most likely to attend in
what time of year works best
how you’d want to be involved
This isn’t an official announcement, just an attempt to measure real interest and see what a Canadian Laracon could look like.
If this sounds like something you’d want to see, please fill it out and share it around.
https://redd.it/1stm2n7
@r_php
laracon.ca
Laracon Canada — Interest List
Help shape a possible Laracon in Canada.