Davey Shafik 🦁🐉🏳️‍🌈
banner
daveyshafik.com
Davey Shafik 🦁🐉🏳️‍🌈
@daveyshafik.com
Professional Developer, Author, and Speaker. PHP 7.1 Release Manager (EOL). He/Him/They/Them. Posts are my own.
Just Lowe's casually inventing time travel to deliver my fridge in -2 days...
September 24, 2025 at 9:31 PM
After a few days with the AirPods Pro 3 (upgrading from AirPods 3/Sony XM4) here's my thoughts as a traditional hearing aids wearer:

- sound quality is way better than AP3
- ANC is great, better than AP3/XM4
- as hearing aids, they are functional. Audio doesn't sound natural, but is amplified well.
September 23, 2025 at 5:16 PM
Meet Beam — the frontend companion to Laravel Pennant.

✅ Built for the frontend
✅ Supports React, Vue, & vanilla JS
✅ Reactively responds to flag changes

Built for Laravel apps.

⚡️ beam.beacon-hq.dev

#Laravel #React #Vue #FeatureFlags #JavaScript
August 23, 2025 at 11:16 PM
With a bit of work, I now have the Beacon Metrics test suite up to 90% with tests running across SQLite, PostgreSQL, and MySQL.

I think we're getting close to a 1.0 release!

In case you missed it, full documentation can be found at metrics.beacon-hq.dev

Feedback welcome!
Beacon Metrics
Simple Metrics for Laravel
metrics.beacon-hq.dev
April 18, 2025 at 7:45 PM
I just published full documentation for Beacon Metrics, metrics.beacon-hq.dev

It still needs more tests before a release — coverage is only 36% right now, although most of it is alias methods.

Main question is should I add the ability to get trends keyed by date?
Beacon Metrics
Simple Metrics for Laravel
metrics.beacon-hq.dev
April 17, 2025 at 12:26 AM
When your side project spawns another side project…

Introducing Beacon Metrics, a package Laravel app metrics. Handles aggregate values, compare to previous period, and trends using a simple fluent API.

Still needs more tests before release, feedback appreciated!
April 15, 2025 at 5:46 PM
In case you missed it earlier today, I'm excited to share the first video preview of Beacon, a Feature Flag Management Platform for #Laravel. Beacon provides a central place for managing Pennant feature flag configurations across all of your Laravel apps

Watch now: youtu.be/0yTkINxeUY4

#php
Beacon Preview
A preview of Beacon — a feature flag management platform for Laravel and Laravel Pennant. Manage all of your feature flag state from a centralized location across all applications and environments. https://beacon-hq.dev Chapters: 0:00 Introduction to Beacon 0:34 Logging In, 2FA, and Teams 1:20 A
youtu.be
March 31, 2025 at 9:52 PM
Today, I'm excited to share the first video preview of Beacon, a Feature Flag Management Platform for #Laravel. Built on top of Laravel Pennant, Beacon provides a central place for managing feature flag configs across all of your Laravel apps & environments.

Watch now: youtu.be/0yTkINxeUY4

#php
Beacon Preview
A preview of Beacon — a feature flag management platform for Laravel and Laravel Pennant. Manage all of your feature flag state from a centralized location across all applications and environments. https://beacon-hq.dev Chapters: 0:00 Introduction to Beacon 0:34 Logging In, 2FA, and Teams 1:20 A
youtu.be
March 31, 2025 at 4:05 PM
I just released Bag 2.5 with added support for Optional Properties. Really happy with how this turned out!

You can read the docs at bagvalueobjects.com/...

#Laravel #PHP
Optionals | Bag
Immutable Value Objects for PHP 8.3+
bagvalueobjects.com
March 29, 2025 at 9:17 PM
Excited for Optional support being added to Bag in the forthcoming 2.5 release! You can see the PR here with full documentation: github.com/dshafik/b...

The only open question is whether to overload `Bag->has()` as a variadic, or add `Bag->hasAll()` and/or `Bag->hasAny()`. Feedback appreciated!
feat: add support for Optionals by dshafik · Pull Request #94 · dshafik/bag
fixes: #87 implements: #88 Optionals Bag supports optional parameters using the Optional class. Optional parameters are parameters that can be omitted when creating a Bag object, and will automati...
github.com
March 28, 2025 at 8:51 AM
Wait a minute, the Composer mascot is a conductor, and the Conductor mascot is a *checks notes* PILOT?

Next product clearly needs to be called Pilot, I don't make the rules.

Buy Microsoft if you have to in order to avoid litigation.

/cc @naderman.de
March 2, 2025 at 2:11 AM
New feature incoming for Bag: Support for Laravel Debugbar!

If you want to try it out for yourself, I'd love some feedback! To install, run:

composer require dshafik/bag:dev-laravel-debugbar

I still need to write tests, and then I'll push this out with Bag 2.4!

February 27, 2025 at 12:43 PM
This weekend saw the release of Bag 2.1, and alongside if I have pushed out versioned documentation with a "What's New" and "Upgrade" docs for 2.x. I plan to keep separate docs for each 2.x release til 3.x, when I will compress them like 1.x:

bagvalueobjects.com/...
⬆️ bagvalueobjects.com/...
What's New in Bag 2.1 | Bag
Immutable Value Objects for PHP 8.3+
bagvalueobjects.com
January 27, 2025 at 8:32 AM
Going live now for a coding session on Beacon!

Twitch: www.twitch.tv/daveys...

YouTube: www.youtube.com/watc...

#Laravel #PHP #Beacon
Twitch
Twitch is the world's leading video platform and community for gamers.
www.twitch.tv
January 10, 2025 at 1:33 AM
I just released v2.0 of Bag with support for Union Types and Fill Nullables:

github.com/dshafik/b...

The former is a BC break (in the Casting interfaces, if you don't use custom casts, no changes are needed) and the latter is a minor behavior change for better QoL.
Release Breaking Changes: Support for Union Types & Fill Nullables · dshafik/bag
What's Changed Support union types by @dshafik in #65 Fill Nullables by @dshafik in #65 Breaking Changes This release has one major breaking change, and a minor breaking change: Casting with ...
github.com
January 5, 2025 at 10:40 PM
Just released: Bag 1.4.0 with several quality of life improvements when using it with #Laravel controller injection.

It also finalizes #PHP 8.4 support (only two deprecation notices about implicit nulls I missed), and a bug fix when using Inertia.

Details here: github.com/dshafik/b...
Release Manual Validation, To Collection, PHP 8.4 support, Bug Fixes · dshafik/bag
What's Changed fix: use the applications Laravel validator when available by @dshafik in #60 feat: Add toCollection() method by @dshafik in #61 feat: Add better support for optional validation...
github.com
January 3, 2025 at 6:07 PM
Following up on yesterday's silliness, here's a PR with tests (and lots of changes) to add the LazilyResolveRouteBinding trait to Laravel core.

Should probably be called `DeferRouteBinding` or something better. I expect Taylor will figure it out 🙃

github.com/laravel/f...

#Laravel #PHP
[11.x] Add the ability to lazily resolve route model binding by dshafik · Pull Request #54053 · laravel/framework
I ran into the behavior that was reported in #44177 and am proposing this addition to help resolve it by deferring the query until the model is used. To be clear: this changes no existing behavior....
github.com
January 1, 2025 at 12:28 PM
On yesterday's #Beacon stream I ran into the frustrating behavior in #Laravel where route parameters (specifically a model) are resolved before the middleware is run (where the global state for the tennant identification used in model scoping is created) — so I did a silly thing to solve it.
1/2
December 31, 2024 at 3:25 PM
🎉 We’re LIVE! 🎉

Come join the first livestream of Beacon, my new app for Laravel. Let’s code together and build something awesome! 🚀

📺 Twitch: twitch.tv/daveyshafik
📺 YouTube: youtube.com/@dshafik

Hop in now! 👇 #Laravel #PHP #LiveCoding
DaveyShafik - Twitch
Beacon Live Coding Stream
twitch.tv
December 30, 2024 at 6:00 PM
Beacon Live Stream Update: We are NOT streaming on YouTube, you can catch it live on Twitch though! Sorry about that folks :(

www.twitch.tv/daveys...

#laravel #php #beacon
DaveyShafik - Twitch
Full-time developer with 25 years of experience as a technical polyglot with a focus on PHP and related technologies. Available for work.
www.twitch.tv
December 30, 2024 at 5:59 PM
🚨 We’re going live in 30 minutes! 🚨

Join me as I kick off the live coding journey of Beacon, a new app for the #Laravel ecosystem.

📺 Twitch: twitch.tv/daveyshafik
📺 YouTube: youtube.com/@dshafik

See you at 10 AM PT! Don’t miss it! 🎥

#PHP #LiveCoding
Twitch
Twitch is the world's leading video platform and community for gamers.
twitch.tv
December 30, 2024 at 5:29 PM
Tomorrow at 10 AM PT, I’m kicking off the live coding journey of Beacon, my new app for the #Laravel ecosystem.

What is Beacon? Why am I building it? Find out LIVE on:

📺 Twitch: twitch.tv/daveyshafik
📺 YouTube: youtube.com/@dshafik

Set your reminders now! 🚀

#PHP #LiveCoding
DaveyShafik - Twitch
Full-time developer with 25 years of experience as a technical polyglot with a focus on PHP and related technologies. Available for work.
twitch.tv
December 29, 2024 at 8:20 PM
👀 A sneak peek at the logo for Beacon… can you guess what it might be?

Find out Monday at 10 AM PT during the first livestream of Beacon, my new open-source app for the #Laravel ecosystem!

📺 Twitch: twitch.tv/daveyshafik
📺 YouTube: youtube.com/@dshafik

#PHP
December 29, 2024 at 4:03 PM
Curious about my new app, Beacon? 🚀

Join me Monday at 10 AM PT for the first livestream on Twitch (and hopefully YouTube) as I kick things off!

📺 Twitch: twitch.tv/daveyshafik
📺 YouTube: youtube.com/@dshafik

Don’t miss it! 🎥 #Laravel #PHP #LiveCoding
Twitch
Twitch is the world's leading video platform and community for gamers.
twitch.tv
December 28, 2024 at 8:17 PM
Big News! Starting Monday at 10 AM PT, I’ll be live streaming the development of a new open-source app for #Laravel!

It's called Beacon, and it's built with Laravel, Inertia, React, & Tailwind, I think it’ll be a great addition to the ecosystem. Don’t miss it! #PHP #LiveCoding
December 28, 2024 at 4:00 PM