Sign in

Dave Liddament

@daveliddament.bsky.social
175 followers 94 following 72 posts
PostsRepliesMedia
Dave Liddament @daveliddament.bsky.social · 05/06/2026
Looking forward to speaking Laravel Live UK about Rector It's a deep dive covering why Rector matters. How it works, and how to create your own custom rules. By the end of the talk you'll be ready to write your first custom Rector! Get your tickets here: laravellive.uk
010
Dave Liddament @daveliddament.bsky.social · 01/04/2026
Like many software developers, I fear AI will be taking most of our jobs. My plumber friend, Louise Blockidge, and I are starting a bootcamp to retrain software developers as plumbers. Find out more: www.daveliddament.co.uk/articles/sys...
daveliddament.co.uk
Systems Engineer to Cisterns Engineer
The bootcamp for software engineers who want to switch to plumbing.
000
Dave Liddament @daveliddament.bsky.social · 04/03/2026
I'm back from an excellent few days at Confoo, where I gave two talks. One on testing, the other on custom PHPStan rules. There were many amazing talks and I had lots of interesting hallway chats. And the added bonus of Mount Royal at night. A lovely walk in the snow. And Canada's best Poutine.
Me after one of my talksMontreal at nightA bird flying with snow an mountains in the backgroundPoutine from McDonalds!
110
Reposted by Dave Liddament
Tamas Erdelyi @terdelyi.co.uk · 24/02/2026
Yesterday we had PHP Thames Valley in Reading. Thanks to @daveliddament.bsky.social and @mintopia.net for bringing us not one, but two magnificent talks! Follow us for future events: meetup.com/php-thames-v...
042
Dave Liddament @daveliddament.bsky.social · 04/02/2026
I had a great conversation with edorian.bsky.social. We talked about his upcoming PHP-UK talk about performance and also what it is like to be the PHP release manager. www.youtube.com/watch?v=PYhu... PHPUK Tickets (20th Feb): www.phpconference.co.uk/tickets Use code DAVEPHPUK for 10% discount.
youtube.com
PHP Performance Demystified: Internals, Profiling, and the Road to PHP 9 with Volker Dusch
Is PHP actually slow, or are we just measuring it wrong? We caught up with Volker, PHP 8.5 Release Manager and performance expert at Tideways, to preview his session, "PHP Performance Demystified,"…
010
Dave Liddament @daveliddament.bsky.social · 21/01/2026
Symfony are kicking off 2026 with a meetup in London on Tuesday 27th Jan with two great talks. Sign up here if you're interested in popping along: www.meetup.com/symfony/even...
meetup.com
January 2026 Meetup, Tue, Jan 27, 2026, 6:30 PM | Meetup
🚀 Let's kick off 2026 with a Symfony meetup on January 27th! With the special participation of a member of the Symfony Core Team: **Nicolas Grekas**. Details of the talk
010
Dave Liddament @daveliddament.bsky.social · 20/01/2026
Recently Derick Rethans and I had a chat about his upcoming PHP UK Conference talk about XDebug, the PHP Foundation and supporting OSS. www.youtube.com/watch?v=8oCc... Tickets phpconference.co.uk/tickets?utm_source=dave&utm_medium=interviews&utm_id=PHPUK+community Use DAVEPHPUK for 10% discount!
youtube.com
Saving Time using Xdebug with Derick Rethans
How much time could you save by switching from var_dump to a step debugger? We sat down with Derick Rethans (creator of Xdebug) to preview his upcoming talk at PHP UK Conference. We explore the…
011
Dave Liddament @daveliddament.bsky.social · 19/01/2026
I had the pleasure of chatting with Ondrej Mirtes about PHPStan and his upcoming PHP Conference talk "Creating Custom PHPStan rules". www.youtube.com/watch?v=XmGf... Tickets for this and many other great talks: www.phpconference.co.uk/tickets?utm_... Use code DAVEPHPUK for a 10% discount!
youtube.com
Mastering PHPStan Custom Rules with Ondřej Mirtes
Why write a test for a single bug when you can write a rule that prevents that bug forever? We caught up with Ondřej Mirtes, the creator of PHPStan, to preview his upcoming talk at PHP UK Conference…
021
Dave Liddament @daveliddament.bsky.social · 13/01/2026
I recently interviewed Sebastian Bergmann, the creator of PHPUnit, to talk about his brand new talk that he'll be giving at PHP UK Conference this February. www.youtube.com/watch?v=bru2... PHPUK tickets: www.phpconference.co.uk/tickets?utm_... Use code DAVEPHPUK for a 10% discount!
youtube.com
Mastering Event-Driven Testing & The Legacy of PHPUnit with Sebastian Bergmann
How do you effectively test software that relies on events rather than standard CRUD layers? We sat down with the creator of PHPUnit, Sebastian Bergmann, to discuss his talk at PHP UK Conference…
010
Dave Liddament @daveliddament.bsky.social · 26/12/2025
If I have behaved myself Santa gives me a tub of miniature heroes for Christmas. I've been collecting the stats on the contents since 2016. Should you wish to see them (I can't see why anyone would), I've shared them here: github.com/DaveLiddamen...
github.com
GitHub - DaveLiddament/miniature-heroes: Stats from 10 years of the contents of miniature heroes
Stats from 10 years of the contents of miniature heroes - GitHub - DaveLiddament/miniature-heroes: Stats from 10 years of the contents of miniature heroes
000
Dave Liddament @daveliddament.bsky.social · 25/12/2025
Merry Christmas everyone. I have a special bonus git tips and tricks video. Yes you can have vanity SHAs for all your git commits! www.youtube.com/watch?v=fFQf... Thanks to everyone who's watched the videos. I hope you found them useful.
youtube.com
Git tips and tricks. Day 25. Vanity SHAs
This one surprised me. It's true, you can have vanity git SHAs! Checkout this repo if you want to find out more: https://github.com/mattbaker/git-vanity-sha
000
Dave Liddament @daveliddament.bsky.social · 24/12/2025
A force push in git is always a risk , especially if other team members are working on the same branch. It's possible to reduce the risk with git push --force-with-lease www.youtube.com/watch?v=TgR_...
youtube.com
Git tips and tricks. Day 24: git push --force-with-lease
Force-pushing is one of the most dangerous things you can do in Git. It is, sometimes, necessary. In this video, we break down git push --force-with-lease. What it actually does, why it exists, and…
000
Dave Liddament @daveliddament.bsky.social · 23/12/2025
A bug appeared. Nobody knows when. There are 300 commits in between. This is exactly what git bisect is for. Check out today's git tips and tricks video to learn about git bisect... www.youtube.com/watch?v=Hsn7...
youtube.com
Git tips and tricks. Day 23: git bisect
Was a feature working last week and has been reported as broken today? Are there lots of commits to look at to find the issue? If so git bisect to the rescue! This video shows you how to use git…
000
Dave Liddament @daveliddament.bsky.social · 22/12/2025
Today's video shows how git reflog can save you from all your git mistakes... www.youtube.com/watch?v=hY2y...
youtube.com
Git tips and tricks. Day 22: git reflog
You know that moment when you’ve just nuked your Git repo… Good news: Git remembers everything. Today's video shows how git reflog is going to save you.
000
Dave Liddament @daveliddament.bsky.social · 21/12/2025
Today's git tips and tricks looks at git cherry-pick www.youtube.com/watch?v=HOB6...
youtube.com
Git tips and tricks. Day 21: git cherry-pick
Learn how you can make cherry pick a commit from another branch, on to the branch you're currently work on.
000
Dave Liddament @daveliddament.bsky.social · 20/12/2025
Save typing and your keyboard by using aliases to provide shortcuts for the common git commands you use. www.youtube.com/watch?v=lyua...
youtube.com
Git tips and tricks. Day 20. git config alias
Save typing and your keyboard by using aliases to provide shortcuts for the common git commands you use.
000
Dave Liddament @daveliddament.bsky.social · 19/12/2025
Today's tips and tricks are about branches in git. www.youtube.com/watch?v=wcGT...
youtube.com
Git tips and tricks. Day 19: git branch
Today we're learning about branches.
000
Dave Liddament @daveliddament.bsky.social · 18/12/2025
In today's git tips and tricks video we learn how to edit commits using interactive rebase. www.youtube.com/watch?v=a18j...
youtube.com
Git tips and tricks. Day 18: git rebase -i (part 3)
Learn how we can use interactive rebase to change commits in the past. In this example we're splitting an existing commit into 2.
000
Dave Liddament @daveliddament.bsky.social · 17/12/2025
This is my favourite git feature that I found out about this year. git commit --fixup git rebase -i --autosquash What's your favourite git feature you learnt this year? www.youtube.com/watch?v=qOrW...
youtube.com
Git tips and tricks. Day 17: git rebase -i --autosquash
My favourite git find of 2025! The combination of git commit --fixup and git rebase -i --autosquash make it easy to retrospectively fix git commits. This one is really worth learning!
000
Dave Liddament @daveliddament.bsky.social · 16/12/2025
More git rebase magic in today's video. It's possible to reorder commits and combine multiple commits into one.... www.youtube.com/watch?v=C11T...
youtube.com
Git tips and tricks. Day 16: git rebase -i (part 2)
Learn how you can reorder commits and combine 2 commits into one with interactive rebase.
000
Dave Liddament @daveliddament.bsky.social · 15/12/2025
One of git's most powerful features is git rebase. Start learning about it in today's video... www.youtube.com/watch?v=6ZWv...
youtube.com
Git tips and tricks. Day 15: git rebase -i (part 1)
Git's rebase functionality is one of its most powerful features. Today we'll learn how to use interactive rebase to reword commit messages.
000
Dave Liddament @daveliddament.bsky.social · 14/12/2025
Have you just made a git commit that's too big? Learn how to split it into 2 with the help if git reset.... www.youtube.com/watch?v=EPXu...
youtube.com
Git tips and tricks. Day 14. git reset
Today we learn how to split the previous commit into 2 commits using git reset.
000
Dave Liddament @daveliddament.bsky.social · 13/12/2025
Wish you could rewrite history? When it comes to git, that wish can come true! In today's video I show you how to amend a git commit... www.youtube.com/watch?v=m6hn...
youtube.com
Git tips and tricks. Day 13: git commit --amend
Made a mistake with the commit you've just created? Don't panic! With git you can rewrite your git history. Today we take the first step using git commit --amend
010
Dave Liddament @daveliddament.bsky.social · 12/12/2025
Have you spent ages carefully creating a set of changes in the staging area for your next git commit, only to realise that you want to commit a completely different set of files? If so the git commit -o option is for you? www.youtube.com/watch?v=acQA...
youtube.com
Git tips and tricks. Day 12: git commit -o --dry-run
Have you spent ages carefully creating a set of changes in the staging area to be committed, only to realise that you want to commit a completely different set of files? If so the git commit -o…
000
Dave Liddament @daveliddament.bsky.social · 09/12/2025
Do you know what git add -N does? If not, checkout today's git tips and tricks video: www.youtube.com/watch?v=onqS...
youtube.com
Git tips and tricks. Day 9: git add -N
See how you can move untracked files to the working tree using git add -N This allows you to use tools like git add -p on new files.
000
Reposted by Dave Liddament
nunomaduro @nunomaduro.com · 08/12/2025
NEW VIDEO: Laravel Best Practices.. Models, Actions, Type Safety, Generics in PHP 9.. 🛡️ 20 minutes of pure gold with Brent Roose discussing best practices for building large, maintainable Laravel applications.. ✅ Video here: youtu.be/QFh21mFLH8I?...
youtu.be
Laravel Best Practices: Models, UUIDs by default, Actions, Type Safety, Generics in PHP 9?
YouTube video by nunomaduro
081
Dave Liddament @daveliddament.bsky.social · 08/12/2025
Git tips and tricks day 8; it's all about git diff and git restore... www.youtube.com/watch?v=oBKf...
youtube.com
Git tips and tricks. Day 8: git diff/git restore
In this video we'll see how to use git diff to see what changes we'er about to commit. We'll also see how we can use git restore to unstage changes.
000
Dave Liddament @daveliddament.bsky.social · 07/12/2025
The PHP Language Extension library v0.10.0 is released. PHP 8.5 is now supported. This library provides new language features (e.g. namespace visibility) that are enforced by static analysis. github.com/DaveLiddamen...
github.com
GitHub - DaveLiddament/php-language-extensions: Attributes to define new PHP language features (that are enforced by static analysis)
Attributes to define new PHP language features (that are enforced by static analysis) - DaveLiddament/php-language-extensions
010
Dave Liddament @daveliddament.bsky.social · 07/12/2025
Day 7 of git tips and tricks is all about git add. including the flags -A, -u, -n and -p youtu.be/RDR35zepCgQ
youtu.be
Git Tips and Tricks. Day 7: git add
Learn about the following git add flags: git add - A git add -u git add -n git add -p
000
Dave Liddament @daveliddament.bsky.social · 06/12/2025
Day 6 of git tips and tricks... Toady we learn about git shortlog youtu.be/Wh6oaQu3uwg
youtu.be
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
000
Dave Liddament @daveliddament.bsky.social · 05/12/2025
Git tips and tricks day 5 - we explore the git show command... youtu.be/uOHnEgwRJMs
youtu.be
Git tips and tricks day 5: git show
With git show we can look at any git commit, tag or branch. We can also you git show to see the contents of a file at any point in the git repo's history.
010
Dave Liddament @daveliddament.bsky.social · 04/12/2025
Git tips and tricks day 4. Learn how git -L can be used to track changes to a method or function. youtu.be/fOEQSLZ5cDU
youtu.be
Git Tips and Tricks. Day 4: git log -L
Learn how you can follow changes to a single method with git.
011
Dave Liddament @daveliddament.bsky.social · 03/12/2025
Day 3 of git tips and tricks. Today it's about git log --follow youtu.be/x9_BJ6HH9UI?...
youtu.be
Git Tips and Tricks. Day 3: git log --follow
YouTube video by Dave Liddament
000
Dave Liddament @daveliddament.bsky.social · 02/12/2025
I've launched version 0.4.0 of test-splitter, which now includes support for PHP 8.5. Check it out at github.com/DaveLiddamen....
github.com
GitHub - DaveLiddament/test-splitter: Splits PHPUnit tests into batches
Splits PHPUnit tests into batches. Contribute to DaveLiddament/test-splitter development by creating an account on GitHub.
000
Dave Liddament @daveliddament.bsky.social · 30/11/2025
Learn how the PHP Extensions Library along side static analysis uses the TestTag attribute to only allow test code to access methods. www.daveliddament.co.uk/articles/int...
daveliddament.co.uk
Introducing the TestTag attribute
Learn how the TestTag attribute helps with testing.
000
Dave Liddament @daveliddament.bsky.social · 19/11/2025
The GrUSP team has just published my talk “Custom PHPStan Rules: Automate Standards and Save Time” from #phpday Custom PHPStan rules amplify the benefits of PHPStan and they are not as difficult as you might think to write. I created 3 in this talk youtu.be/1tOSnuxCcRY
youtu.be
Custom PHPStan Rules: Automate Standards and Save Time | Dave Liddament | phpday 2025
YouTube video by GrUSP
011
Dave Liddament @daveliddament.bsky.social · 22/10/2025
See how the PHP Extensions Library along side static analysis uses the NamespaceVisibility attribute to emulate PHP's missing package/namespace visibility modifier. www.daveliddament.co.uk/articles/int...
daveliddament.co.uk
Introducing the NamespaceVisibility attribute
Learn how the NamespaceVisibility attribute emulates the missing package visibility modifier.
010
Dave Liddament @daveliddament.bsky.social · 08/10/2025
Learn about the MustUseResult attribute from the PHP Language Extension Library. Also find out this can be replaced by PHP 8.5's NoDiscard attribute... www.daveliddament.co.uk/articles/int...
daveliddament.co.uk
Introducing the MustUseResult attribute
Learn how the MustUseResult attribute can prevent coding mistakes.
000
Reposted by Dave Liddament
phpukconference.bsky.social @phpukconference.bsky.social · 02/10/2025
🐘 There's still time! 🎙️ Submit your talk now to be considered for a spot on stage at #PHPUK26! 👉 sessionize.com/php-uk-confe... #speakers #PHP #devops #conference
012
Dave Liddament @daveliddament.bsky.social · 29/09/2025
Learn how the Friend attribute from the PHP Language Extension library can be used enforce the use of creational design patterns (e.g. Builder and Factory) where used. www.daveliddament.co.uk/articles/int...
daveliddament.co.uk
Introducing the Friend attribute (example 1)
Learn how the Friend attribute can be used to enforce the usage of creational design patterns.
000
Dave Liddament @daveliddament.bsky.social · 23/09/2025
If you ever find yourself wishing PHP had concepts from other languages, you might be in interested in the PHP Language Extension Library. It uses static analysis to emulate features from other languages. Here's an article introducing the library: www.daveliddament.co.uk/articles/int...
daveliddament.co.uk
Dave Liddament
Dave Liddament's technical blog
010
Reposted by Dave Liddament
Longhorn PHP @longhornphp.com · 22/09/2025
This year we have @DaveLiddament presenting his tutorial "Mastering automated refactoring with custom Rector rules" - Learn how to create custom Rector rules that can automate tasks specific to your refactoring project. Grab tickets at longhornphp.com
021
Reposted by Dave Liddament
phpukconference.bsky.social @phpukconference.bsky.social · 16/09/2025
There's the PHP you write. Then there's the PHP you aspire to write. The path to becoming an architect of the web is here. PHP UK Conference is back! February 20, 2026. Save the date. Blind bird tickets available here: phpukconference.lpages.co/blind-bird #PHPUK2026 #PHP #WebDev #TechConference
012
Reposted by Dave Liddament
Rob Allen @akrabat.com · 30/04/2025
Learning about custom rules in PHPStan with @daveliddament.bsky.social this evening at PHP Berkshire.
041
Dave Liddament @daveliddament.bsky.social · 30/04/2025
Learning all about OAuth with @akrabat.com at PHP Berkshire.
051
Dave Liddament @daveliddament.bsky.social · 25/02/2025
I'm on my way to @confooca.bsky.social, I'll be speaking about static analysis and legacy code. I'll be around all conference, so if you want more in depth conversations about either of these topics please get in touch and we can chat further about these topics.
Poster listing the 2 talks I'm giving at Confoo
021
Dave Liddament @daveliddament.bsky.social · 23/02/2025
This is my favourite talk to give. PHPStan custom rules and Attributes allow you to add new language features to PHP in a few hours. See examples here: github.com/DaveLiddament/… And join me at PHP Tek to learn how to make your own additions to PHP.
github.com
161
Reposted by Dave Liddament
phpukconference.bsky.social @phpukconference.bsky.social · 18/02/2025
PHP UK Conference 2025 starts tomorrow! 🚀 Just one day away from an amazing event filled with talks and networking with the PHP community. Visit our website for the full speaker line-up and schedule. Plan your day to maximise #phpuk25! 👉 Schedule: buff.ly/3PGTQUT #phpuk #php #phpc
022
Dave Liddament @daveliddament.bsky.social · 01/02/2025
Day 20 of PHP Generics. This looks at the extends annotation. We also see how multiple things we've learnt can be used together. vimeo.com/1052595811 #php #generics #phpstan
vimeo.com
PHP Generics Day 20 - @extends
This lesson looks at the @extends annotation. Today's challenge: https://phpstan.org/r/f6302f8f-2a54-4352-a27b-5829e0ec5def
020
Dave Liddament @daveliddament.bsky.social · 12/01/2025
PHP Generics day 19 looks at the implements annotation: vimeo.com/1046224920
vimeo.com
PHP Generics Day 19 - @implements
Today's lesson looks at the @implements annotation. The challenge for the lesson is available here.
011