Тёмный

When to use Traits, Interfaces, and Abstract Classes in PHP 

Andrew Schmelyun
Подписаться 35 тыс.
Просмотров 17 тыс.
50% 1

If you've been working in PHP for at least a little while, chances are you've come across a Trait, Interface, or Abstract Class. What are they? How can I use them effectively?
Let's dive in and discover a couple of use cases for each of them, and I'll explain some of their differences (and similarities).
- 0:00 TL;DR
- 0:47 Intro
- 1:25 Traits
- 5:48 Interfaces
- 10:27 Abstract Classes
- 14:49 All Done
Send me new video ideas and vote on what's coming next: suggest.gg/aschmelyun
Follow me on Twitter! / aschmelyun
Join my newsletter, where I send out new information about twice a month in the PHP, JavaScript, and Docker realms: aschmelyun.substack.com

Наука

Опубликовано:

 

7 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 52   
@this.channel
@this.channel 10 месяцев назад
This is by far my favourite channel for learning SOLID and design patterns. I've struggled with this subject for so long.
@aschmelyun
@aschmelyun 10 месяцев назад
You're not the only one, I've also struggled with them a lot! I'm glad you liked the video.
@Tuto1902
@Tuto1902 10 месяцев назад
Always a good idea to refresh the basics. Thank you 👍
@Dekedence
@Dekedence 3 месяца назад
Really appreciate the real-life example of play/concert/movie to illustrate when best to use trait and interface.
@siphosethudlomo
@siphosethudlomo 10 месяцев назад
Straight to the point. I'll be watching this video a lot in the coming months, thank you.
@DallinHitchcock
@DallinHitchcock Месяц назад
Man, this is so clearly explained. What a great refresher. Thanks Andrew!
@librasulus
@librasulus 10 месяцев назад
Great refresher, thanks!!
@raissa1826
@raissa1826 Месяц назад
Great Explanation!!!
@zunnur1
@zunnur1 10 месяцев назад
Thank you Andrew.
@rcnhsuailsnyfiue2
@rcnhsuailsnyfiue2 10 месяцев назад
Traits are one of my favorite PHP features, they’re so helpful. I have a tenanted B2B application which runs in both the “user context” and the “business context” interchangeably. With a shared trait on both my User and Business models, I can access and interact with the current user (or their business) on either model, or even on any of their Eloquent relations too. Makes for great DX in a complex application like this one.
@lajeeshk
@lajeeshk 10 месяцев назад
A demo or github link is highly appreciated
@pwcodigo
@pwcodigo 10 месяцев назад
Very cool. I also have application tenanted B2B with laravel.
@maxymajzr
@maxymajzr 10 месяцев назад
What does trait have to do with tenancy? It's language assisted copy paste, you get to have same code without inheritance. Why is it so helpful in context of tenanted Eloquent models? I'm sorry if I sound like "that" guy but without context it's unclear what exactly helped you and what the problem you solved even was and why was using a trait the way to go.
@VitorJustin
@VitorJustin 10 месяцев назад
Such a clear explanation! Thank you, Andrew!
@aschmelyun
@aschmelyun 10 месяцев назад
I'm glad to hear it! Clear is what I aim for
@anaisabel19886
@anaisabel19886 4 месяца назад
Wonderful explanation! Thank you ❤
@abdelmallem3478
@abdelmallem3478 6 месяцев назад
Oh merci d’avoir abordé ce sujet
@Staeufer
@Staeufer 10 месяцев назад
Thanks for the explanation and the examples. After reading the docs, I wasn't quite sure why all 3 exist and when to use them. Now with all 3 in context together, it makes perfect sense.
@aschmelyun
@aschmelyun 10 месяцев назад
This is one of the biggest reasons why I made this video: context. It's how I learn best, I need to see examples of certain concepts in order for them to really click. Glad you liked the video!
@peteremad5228
@peteremad5228 10 месяцев назад
very good explanation, thanks
@fayetan1959
@fayetan1959 2 месяца назад
thank you, explanation is easy to understand and follow
@KHALEDMORSHED
@KHALEDMORSHED 10 месяцев назад
Such a helpful tutorial, it boosted my basics. Thank you ❤
@aschmelyun
@aschmelyun 10 месяцев назад
Glad you liked it, thanks for watching!
@andrewmusholt9327
@andrewmusholt9327 2 месяца назад
I knew Interfaces, I knew Traits, I literally have never thought of Abstract classes as a combination of those two things - thanks!!
@aschmelyun
@aschmelyun 2 месяца назад
Of course, glad you liked the video!
@hammedmujeeb5145
@hammedmujeeb5145 Месяц назад
You just got yourself a new subscriber!!! Thanks Andrew.
@bsky1998
@bsky1998 10 месяцев назад
Awesome explanation! I found your channel through our mutual buddy Salazar, and you explained these concepts a bit better than Jeffrey Way did when I first saw his PHP OOP series on Laracasts years ago. Keep em coming!!
@aschmelyun
@aschmelyun 10 месяцев назад
That's awesome! And wow, that's a massive compliment, thanks! I'm glad you liked the video, and I'll definitely have to continue making videos like this.
@nahuelfernandez2352
@nahuelfernandez2352 10 месяцев назад
Excelent video.
@roywastaken
@roywastaken 5 месяцев назад
amazing video
@aschmelyun
@aschmelyun 5 месяцев назад
Thanks, I'm glad you liked it!
@dfordemo981
@dfordemo981 7 месяцев назад
awesome and super clear demo 😊✅✅
@aschmelyun
@aschmelyun 7 месяцев назад
Thanks, I'm glad you appreciate it!
@nelwhix
@nelwhix 10 месяцев назад
So helpful
@leilamalekhoseiny5888
@leilamalekhoseiny5888 3 месяца назад
thanks
@daria.butterflycookies
@daria.butterflycookies 8 месяцев назад
you explain everything very well, i could make very useful notes out of your video. thank you for the demonstration!
@aschmelyun
@aschmelyun 8 месяцев назад
Thank you for the kind words!
@Yousef_3mr
@Yousef_3mr 10 месяцев назад
Thanks man ❤❤
@aschmelyun
@aschmelyun 10 месяцев назад
Any time!
@Spar10YT
@Spar10YT 13 дней назад
Hi i like this video very nicely explain ❤❤ thanks 👍
@joebashour
@joebashour 9 месяцев назад
Great example and as usual a very clear explanation. Thanks, Andrew! I have followed your vids for a while, but I just noticed I never subscribed. I did that today ;)
@aschmelyun
@aschmelyun 9 месяцев назад
Hey, thanks! That means a lot, appreciate the subscribe!
@kurshadqaya1684
@kurshadqaya1684 10 месяцев назад
Very well explained.
@kirayamato6128
@kirayamato6128 10 месяцев назад
what ide and extension do you use to see that beautiful error box/message when hovering? thanks
@aschmelyun
@aschmelyun 10 месяцев назад
It’s just the default behavior from PHPStorm
@user-xu7fb2ug4t
@user-xu7fb2ug4t 10 месяцев назад
👍
@lajeeshk
@lajeeshk 10 месяцев назад
Which editor is this , php storm ?
@aschmelyun
@aschmelyun 10 месяцев назад
Yep!
@pwcodigo
@pwcodigo 10 месяцев назад
how managed to execute the object without composer or namespace ? when I try to execute, php index.php, an error message appears. Fatal error: Uncaught Error: Class "movie" not found in C:\laragon\www\index.php:17
@pwcodigo
@pwcodigo 10 месяцев назад
I had to put require_once.
Далее
Saloon - A PHP package to simplify API integrations
28:09
The tactic worked 😂#shorts by  Leisi Show
00:26
Просмотров 3,1 млн
Interfaces vs Abstract Classes
14:43
Просмотров 13 тыс.
Use Arc Instead of Vec
15:21
Просмотров 138 тыс.
PHP 8 3 Released
11:03
Просмотров 101 тыс.
Serverless PHP is pretty good
12:33
Просмотров 6 тыс.
Get started with Laravel events and listeners
15:37
Просмотров 18 тыс.
Don't throw exceptions in C#. Do this instead
18:13
Просмотров 252 тыс.
Why use Type and not Interface in TypeScript
14:12
Просмотров 194 тыс.
PHP doesn't suck (anymore)
10:48
Просмотров 199 тыс.