Dave Liddament
banner
daveliddament.bsky.social
Dave Liddament
@daveliddament.bsky.social
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...
Introducing the NamespaceVisibility attribute
Learn how the NamespaceVisibility attribute emulates the missing package visibility modifier.
www.daveliddament.co.uk
October 22, 2025 at 1:46 PM
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...
Introducing the MustUseResult attribute
Learn how the MustUseResult attribute can prevent coding mistakes.
www.daveliddament.co.uk
October 8, 2025 at 4:40 PM
Reposted by Dave Liddament
🐘 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
October 2, 2025 at 10:31 AM
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...
Introducing the Friend attribute (example 1)
Learn how the Friend attribute can be used to enforce the usage of creational design patterns.
www.daveliddament.co.uk
September 29, 2025 at 6:24 PM
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...
Dave Liddament
Dave Liddament's technical blog
www.daveliddament.co.uk
September 23, 2025 at 11:39 AM
Reposted by Dave Liddament
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
September 22, 2025 at 3:02 PM
Reposted by Dave Liddament
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
September 16, 2025 at 10:05 AM
Reposted by Dave Liddament
Learning about custom rules in PHPStan with @daveliddament.bsky.social this evening at PHP Berkshire.
April 30, 2025 at 7:10 PM
Learning all about OAuth with @akrabat.com at PHP Berkshire.
April 30, 2025 at 6:31 PM
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.
February 25, 2025 at 12:18 PM
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.
February 23, 2025 at 10:34 AM
Reposted by Dave Liddament
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: https://buff.ly/3PGTQUT

#phpuk #php #phpc
February 18, 2025 at 10:00 AM
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
PHP Generics Day 20 - @extends
This lesson looks at the @extends annotation. Today's challenge: https://phpstan.org/r/f6302f8f-2a54-4352-a27b-5829e0ec5def
vimeo.com
February 1, 2025 at 5:13 PM
PHP Generics day 19 looks at the implements annotation:

vimeo.com/1046224920
PHP Generics Day 19 - @implements
Today's lesson looks at the @implements annotation. The challenge for the lesson is available here.
vimeo.com
January 12, 2025 at 9:48 PM
PHP Generics day 18 looks at:

class-string

vimeo.com/1045819154
PHP Generics Day 18 - class-string T
In day 18 we look at class-string
vimeo.com
January 10, 2025 at 9:33 PM
Static analysis tools like PHPStan allow PHP developers to create new language features.

I gave a talk at PHPCon about how I added C++'s friend keyword to PHP: www.youtube.com/watch?v=Bzs3...

Also check out other language extensions: github.com/DaveLiddamen...
Dave Liddament: Extending the PHP Language with PHP @ PHPConPL23
YouTube video by Conferia
www.youtube.com
January 9, 2025 at 3:36 PM
PHP Generics day 17 shows how the template annotation can be used on functions...

vimeo.com/1044592646
PHP Generics Day 17 - template on functions
In this video we look at how you can apply a template annotation on a function
vimeo.com
January 8, 2025 at 9:11 AM
PHP Generics day 16 looks at the type class-string

vimeo.com/1044411480
PHP Generics Day 16 - class-string
Today's video looks at the class-string type. The challenge can be found here.
vimeo.com
January 6, 2025 at 7:09 PM
PHP Generics day 15

vimeo.com/1044064020
PHP Generics Day 15 - template of
PHP Generics day 15 looks at of
vimeo.com
January 5, 2025 at 2:06 PM
PHP generics day 14 looks at multiple templates...

vimeo.com/1043728515
PHP Generics Day 14 - multiple templates
PHP Generics day 14. Multiple templates Today's challenge is available here
vimeo.com
January 3, 2025 at 8:04 PM
PHP Generics day 13 continues looking at the template annotation...

vimeo.com/1042036106
PHP Generics Day 13 - template part 2
This lesson continues looking at the @template annotation. Today's challenge is available here.
vimeo.com
December 24, 2024 at 8:59 PM
Day 12 of PHP Generics introduces the template annotation....

vimeo.com/1041810758
PHP Generics Day 12 - template
This lesson introduces the annotation @template Today's challenge is found here.
vimeo.com
December 23, 2024 at 11:34 PM
PHP Generics day 11. Alternatives to array shapes...

vimeo.com/1040879139
PHP Generics Day 11 - Array shape alternatives
Today we look at alternatives to the array shape. If you want to delve into this in more details, check out Larry Garfield's talk, Never use arrays.
vimeo.com
December 20, 2024 at 11:38 AM
Day 10 of PHP Generics looks at array shapes

vimeo.com/1040221387
PHP Generics Day 10 - Array shapes
This lesson looks at array shapes. Today's challenge can be found here.
vimeo.com
December 18, 2024 at 12:53 AM
PHP Generics Day 9 - today we look at the type list

vimeo.com/1039483916
PHP Generics Day 9 - list
In this lesson we'll look at the type list PHPStan documentation for generators. Today's challenge.
vimeo.com
December 15, 2024 at 11:27 PM