13: Interfaces in OOP PHP | Interfaces Explained | Object Oriented PHP Tutorial | PHP Tutorial

  Рет қаралды 97,931

Dani Krossing

Dani Krossing

Күн бұрын

Пікірлер: 217
@bicanmarianvaleriu5400
@bicanmarianvaleriu5400 5 жыл бұрын
Awesome effect for typo 😍 - 2:20
@kristapsvecvagars5049
@kristapsvecvagars5049 4 жыл бұрын
You always find ways to make people smile whilst teaching a valuable lesson. That typo fix was simply epic 😁
@guscostarock
@guscostarock 2 жыл бұрын
🤣 It reminded me of "Toasty" on Mortal Kombat.
@astev52
@astev52 2 жыл бұрын
That's what I thought, that was funny.
@mrpddnos
@mrpddnos 5 жыл бұрын
Been using php for years. Never understood the whole interface business. Now in 20 minutes understand it and now working on a way how to implement it in my current project (where it will solve quite a few problems).
@laloptk100
@laloptk100 4 жыл бұрын
Thanks man. I was failing in understanding why the hell everybody says Interfaces are so powerful and give flexibility to your code. Yeah, they spit those words but they never tell you why, even worst, they just entangle with a lot of technical jargon speaking about things that implement a dependency of an object and blah blah blah (Which can be specially difficult for me because english is my second language and tutorials in spanish are not always very good). Finally someone explain it in plain words, thanks again. I'm guessing this is not the only thing you can do with Interfaces, but I'll keep reasearching and thanks to you I can understand things better now.
@debikadminconsult9006
@debikadminconsult9006 3 жыл бұрын
Sometimes after watching any video, the best way to consolidate the learning process is to peruse the comment section and listen to other people thought patterns. It is very enlightening, and I give kudos to the video creator and awesome commenters in the comment section. Very educative content, and I am really impress. Thank you
@OcenaStrex
@OcenaStrex 3 жыл бұрын
I've never grasped the need for interfaces. I've always felt that I could simply throw them out and the code would still work. This is the first and best explanation of interfaces I have seen. Finally that light is starting to shine in my head. Thank you very much for this lesson. I will be going over your other tutorials and hopefully implement what I've learned in future projects.
@lpanebr
@lpanebr Жыл бұрын
I never thought of using interfaces for type definition. It's genius. Thank you!
@karljohnhonrado4551
@karljohnhonrado4551 4 жыл бұрын
This guy explains way way more better than my teacher in college.
@PorgyGeorgy1
@PorgyGeorgy1 4 жыл бұрын
You're one of the best teachers. And you're also very likable. Thank you very much for all your hard work. The bell does indeed... light up. 😂👍🏼
@ollaray1
@ollaray1 4 жыл бұрын
I think the paymentProcess() should also be defined in the PaymentInterface interface else the entire code is gonna generate an error while trying to look for it in the BuyProduct Class
@klarisa1784
@klarisa1784 Жыл бұрын
i thought just like u , but when i tried it in vsc it functions and doesnt show any error
@tiagomota4734
@tiagomota4734 Жыл бұрын
as a beginer i understand ZERO from this tutorial, it seems a little bit like rocket science at least, if not extraterestrial communication with earth! I really really wonder how much time it will take to actually be able to implement this by myself, i guess 10 to 20 years!
@ulijibkadelm318
@ulijibkadelm318 Жыл бұрын
@@tiagomota4734 exactly me 2 days ago, take a note and break things down to pieces of information on how the flow of the code. You'll get it eventually.
@BaneZr994
@BaneZr994 4 жыл бұрын
Okay, I watched the whole PHP Series, I am so glad I found you! Really good job on explaining everything in such a simple way and showcasing some usages for everything :)!
@Bonafide188
@Bonafide188 4 жыл бұрын
This video was pure perfection, thanks so much for the clear explanation about why we use interfaces. I am trying to learn OOP PHP in order to use Laravel and this series is explaining so much
@ShawnRitch
@ShawnRitch 5 жыл бұрын
This might be exactly what I have been looking for to run a content management system I'm developing. Thank you sir - you da BOMB!!!
@rodgerspenda3207
@rodgerspenda3207 3 жыл бұрын
bro share the link to your cms. we might a build a plugin for it😂😂
@JoshuaTMagee
@JoshuaTMagee 4 жыл бұрын
I feel like we took a huge jump in complexity between episode 11 and this one, haha. Struggling to keep up, but thank you so much for everything you're doing with this channel!
@nvmffs
@nvmffs 4 жыл бұрын
Scope resolution was a jump too?
@marco114
@marco114 4 жыл бұрын
i agree. feel like he just left me in the dust
@tiagomota4734
@tiagomota4734 Жыл бұрын
did you managed to do it ? im extremly new and it seems like ...oh well impossible?
@jonsdogg2400
@jonsdogg2400 Жыл бұрын
​@@tiagomota4734​ which one? are you referring to scope resolution or interface?
@Michael-lo3ht
@Michael-lo3ht 7 ай бұрын
I agree somewhat. I think it started out great, and a useful feature. But then I know it had too many twists and turns that my eyes glazed over. I may have to watch it again, but stop before it gets too far and just absorb that first. I'm hooked on his videos.
@slimyelow
@slimyelow 3 жыл бұрын
I am having so much fun watching this and matching it to a Laravel project I have been working on and stuff is finally starting to click for real. This is after I thought I knew it all !@@! Great Great Video !!!!! - as always by Dani
@BillClinton228
@BillClinton228 3 жыл бұрын
Thank you, I could never understand Interfaces until now. To simplify I would just say it's a good way of implementing inheritance for multiple classes, usually you can only inherit one class at a time.
@trevormoore468
@trevormoore468 4 жыл бұрын
your examples are one of the few that actually make sense and click for me, ive watched tons of youtube videos and took alot of online courses and no one comes close to how well you explain things and how well your examples are done and explained
@samduss4193
@samduss4193 2 жыл бұрын
This exemple is good cause it is very concrete kind of when it is used... the only more complicated understanding is calling an object into a Class which is mind blowing.... that is what i notice :)
@tamisweitzer275
@tamisweitzer275 2 жыл бұрын
This is the first time someone explained interfaces in a way that made sense. Using payment methods was a perfect example, IMO.
@RishabKapadia
@RishabKapadia Жыл бұрын
The best php interface video on youtube. Period. 💯
@oanacristea2572
@oanacristea2572 2 жыл бұрын
Well done for your work!! 👏 Honestly, the best explanation I could see/hear so far. Finally, I found someone to explains interfaces the right way: What are the interfaces? Where to use them? and Why we use them?. Thank you, Dani!!!!! Keep up the good work! 💯
@mastammworld
@mastammworld Жыл бұрын
You did it :) I have been watching multiple videos on KZbin from many so-called tech gurus for the last 2 hours just to understand why should use interface in my code but finally, I got at least one reason from this video.
@lambertotamayo4320
@lambertotamayo4320 4 жыл бұрын
i'm new to learn oop, and now i understand how it works by watching your tutorial. thanks a lot sir. hope theres a tutorial for using this oop for a simple website sir.
@carlosmaralit8784
@carlosmaralit8784 Жыл бұрын
that effect when type hahahahha... very good content, thank you for this tutorials, please continue to create web tutorial, your tutorial are all awesome and helpful
@LiteralHatReloaded
@LiteralHatReloaded 3 ай бұрын
oh my GOD MY MIND IS BLOWN THANK YOU
@fury_uri
@fury_uri 2 жыл бұрын
Well done! You made the topic easy to see and understand. Thank you!
@hemantsingh47
@hemantsingh47 2 жыл бұрын
Best video to show the real face of an interface use.
@Vendubak
@Vendubak Жыл бұрын
I like your tutorials. I went through many, really many and find yours the best. Keep going :) And Thanks also for the funny part correcting the typo :D
@JeremyMecham
@JeremyMecham 2 жыл бұрын
The most thorough explanations of PHP OOP that I have found yet! Thank you so much. (subscribed)👍
@kriba6755
@kriba6755 4 жыл бұрын
Best explanation of interfaces. I have tried to understand the use of them for some time. But this made it crystal clear
@TuncayKaptan
@TuncayKaptan Жыл бұрын
Very good lesson, thanks
@sashetrajkovski6006
@sashetrajkovski6006 3 жыл бұрын
i love you man, i love you, i can now say that i know what are interfaces and why are they used for , after watching 10 videos minimum and reading million articles on this subject i didn't know the actual implementation. Plus that useful dependency injection tip is just magic so useful. THANK YOU MAN !!!!
@Infinitesap
@Infinitesap 2 жыл бұрын
Extremely well done explanation! I really appreciate your style - showing / explaining while the classes are created an evolves into implementing the interfaces Never saw/heard a better explanation. 13 on a 10 scale!
@raulrojas6552
@raulrojas6552 2 жыл бұрын
I didn't get it the first time, but now I get it, great!
@programmingtestsandproje
@programmingtestsandproje 3 жыл бұрын
it was very clear thank you so much
@harrisonoluchukwuebuka3646
@harrisonoluchukwuebuka3646 4 жыл бұрын
best explanation of interface i have ever seen. finally i understood what interface mean. thanks man. i appreciate
@muzika5001
@muzika5001 2 жыл бұрын
After watching two times it is clear now. 😁
@dhruvkumar-br2lp
@dhruvkumar-br2lp 9 ай бұрын
Best video i ever saw on interface
@zaimcodes
@zaimcodes Жыл бұрын
I think it is better to include the login process inside the payNow() method in both Visa and Paypal classes... Interfaces, as the word suggest, only show us the frontier of the function and it doesn't need to understand what and how payNow() would process the request. Adding the login logics into the payNow() method would save you even more unnecessary complexities (more lines of code, another interface [LoginInterface], another method [paymentProcess] in PaymentInterface)
@clementoseiasante6315
@clementoseiasante6315 4 ай бұрын
True. I'm very happy with the way he explained it. I haven't really understood interfaces till now. But i don't get why the paymentProcess() wasn't included in the Payment interface but it was implemented in all the classes that extended that interface. care to explain that ?
@dante_wat1733
@dante_wat1733 Жыл бұрын
damn it finally makes sense. I've read about interfaces before but I've never really got why and how they can be used. now i understand. thank you
@rxjahid9404
@rxjahid9404 2 жыл бұрын
love from Bangladesh ,your video helped me a lot.
@localLyricsPh
@localLyricsPh Жыл бұрын
I repeat this ep. 4 time to really understand the concept. Thanksss again dani !! 🥰🥰
@oanacristea2572
@oanacristea2572 2 жыл бұрын
And btw. I really like the dark theme. I usually watch video during the evening, so much nicer for the eyes. 👀🕶
@Gamer-gp3id
@Gamer-gp3id 2 жыл бұрын
You are so funny🤣you always make people smile. 😁That's why your tutorials so interesting😊. Thank you very much for your hard work😉👏👏👏
@thanhphuongphan4155
@thanhphuongphan4155 4 жыл бұрын
Great job man. But I could not understand one thing: In the Class "BuyProduct", we are trying to use the mutual method "paymentProcess". However, the "PaymentInterface" does not contain the rule of that. It does not throw any error message though. Could you help to explain a little bit on that?
@MuhammadAli-ve7mt
@MuhammadAli-ve7mt 2 жыл бұрын
I don't really think you need an answer anymore but (if someone else might have this confusion) it's because we are receiving the object of one of the classes and using that object to access "paymentProcess()". All the classes do contain paymentProcess so it works, even though the interface doesn't specify that rule. The classes can possibly contain other methods along with the specified ones (which are required).
@codobyte
@codobyte 4 жыл бұрын
Q: Why not set paymentProcess in the interfaces instead of payNow?
@davidjimeneztorrealba5830
@davidjimeneztorrealba5830 4 жыл бұрын
I think he only wanted to demonstrate that you can also implement multiple interfaces.
@williamalesna5703
@williamalesna5703 4 жыл бұрын
@@davidjimeneztorrealba5830 yes for basic purposes and especially for beginners..
@Emassieu
@Emassieu 4 жыл бұрын
you muss declare both payNow() and paymentProcess()in the interface , because those methods should be declared in all the classes that implements the interface.
@tictac1020
@tictac1020 4 жыл бұрын
Ha, this was my question as soon as he started writing the second interface. Still processing but to my mind atm, since not all of the classes that implement the paymentProcess interface also have the loginFirst method, you'd still have to abstract up a layer anyway. I guess you could do it at least two different ways.
@dfordemo981
@dfordemo981 3 жыл бұрын
same question, i am using phpstorm and i was writing the code along with Danni___
@Gamer-gp3id
@Gamer-gp3id 2 жыл бұрын
Thanks bro😁I have watched fully 4 times this video😂and I finally understood what do we need interfaces😂😂
@Meeshalkumar
@Meeshalkumar 3 жыл бұрын
Wow, I didn't think someone came make so simple concept so confusing. You create an interface in order to implement classes based on that interface, and these classes performs same tasks with slightly different parameters or in different ways. For example: you'll create an interface with for payment, with multiple payment methods, and one method which handles the actual payment. Then in the class where you implement it, you'll just refer the method which handles the payment with required parameters. This helps organising your code base and implement new payment methods via the interface.
@desertmoon_cho322
@desertmoon_cho322 4 жыл бұрын
I like how you corrected your typo amazing editing skills, great tutorial by the way.
@Vboystaskandfun
@Vboystaskandfun 5 жыл бұрын
Pls upload laravel tutorial
@blanche0018
@blanche0018 3 жыл бұрын
this is the third time I'm watching this xD finally, I understand it!...maybe a bit..I'll try to practice it as well. Thank you so much for your tutorials, I've been following it since last week T-T
@MrRvalentin
@MrRvalentin 2 жыл бұрын
Need same IDE to corect my typos !!! Awesome teachings !
@goodjob7782
@goodjob7782 Ай бұрын
now you are on the right side :}
@portermitra7953
@portermitra7953 4 жыл бұрын
You are an amazing teacher
@naimchowdhury5427
@naimchowdhury5427 4 жыл бұрын
Thank you for making tutorials that are so easy to understand❤️ !
@imran_ashraf
@imran_ashraf 2 ай бұрын
Awesome Tutorial! Can you please do one on PHP Traits?
@webtpoint8009
@webtpoint8009 4 жыл бұрын
You make the programming so easy by the awesoeme explanation thank u so much for the video
@mlondimchunu5975
@mlondimchunu5975 3 ай бұрын
Thanks Dani.
@cazpfitl
@cazpfitl 4 жыл бұрын
ok, this was hard, but thank you! now its more clear, this will be very usefull!
@hassanfarooq7379
@hassanfarooq7379 Жыл бұрын
Thank you Dani, I am not seeing Dependency Injection video in this series... Maybe you have explained in a different series?
@ajayidhikrullah9125
@ajayidhikrullah9125 5 жыл бұрын
Assalam Alaykum< God bless you Brother MMTUTS really understanding your method of teaching us But please, Kindly help separate PHP OOP ffrom that of ther course. I mean separate them and use Numbers for users to be able to download easily. thank you SIR
@harisurrahman3329
@harisurrahman3329 4 жыл бұрын
The Best interface explanation
@ahgiynq
@ahgiynq 3 жыл бұрын
The bit u showed up on the left was hilarious :)
@tryharder927
@tryharder927 5 жыл бұрын
thanks for uploading new videos , please don't stop , i'm watching all of it and i want more
@csandreas1
@csandreas1 2 жыл бұрын
I don't know why it took 19 minutes. I watched the whole video and it started making sense in the last five minutes
@olis936
@olis936 3 жыл бұрын
Thank you very much for doing this video! Good job, i also understand now what is an interface in php und what is for. You have a very pleasure way to teaching that stuff! Thx And "Schöne Grüße aus Deutschland"
@atccompany1937
@atccompany1937 4 жыл бұрын
hello, may I ask two questions please: 1. why you don't create one interface like PaymentInterface and inserted (public function paymentProcess(); ) method inside it? 2. when you create a second interface called (LoginInterface) why you didn't add it to the BuyProduct claas function (pay() ) ??
@vanhelsingx69x
@vanhelsingx69x Жыл бұрын
bro that edit is insane, I almost s*it my pants for a few seconds
@enes1565
@enes1565 3 жыл бұрын
you are the effect meister
@stephencopeland3908
@stephencopeland3908 3 жыл бұрын
you're a great teacher!
@manuelgmra
@manuelgmra 3 жыл бұрын
Thanks a lot I have seen another video and this shows me a complement idea about interfaces
@AbhimanyuNaikareWebDeveloper
@AbhimanyuNaikareWebDeveloper 24 күн бұрын
super exp[lained. thanks
@_rachid
@_rachid Жыл бұрын
Merci !
@mhc4124
@mhc4124 4 жыл бұрын
Fantastic explanation.
@DjediMind
@DjediMind 2 жыл бұрын
THank you, Sir.
@rimantasdanilevicius6754
@rimantasdanilevicius6754 3 жыл бұрын
I really liked that interaction 2:30 :D p.s thanks for explaining!
@MiKo-iz7tt
@MiKo-iz7tt Жыл бұрын
Hi again, there is an inconsistence in the code that I think everybody should be watch. In the class BuyProduct, we are defining an interface to get recieved, then, we are accessing to a method that not exists, in this case I'm talking about paymentProcess() which is not defined in the PaymentInterface, when we are passing a "Cash" object at the BuyProduct's instance.
@theworldismine7788
@theworldismine7788 Жыл бұрын
yes I write the exact same code as he wrote and I get an error in the paymentProcess method What's your solution?
@theworldismine7788
@theworldismine7788 Жыл бұрын
I guess bcuz php got updated maybe
@dennisvantol9754
@dennisvantol9754 10 ай бұрын
Thank you! Very helpfull 😁👍🏻
@henriicker
@henriicker 4 жыл бұрын
Thanks for share your knowledge!
@ashweenisingh900
@ashweenisingh900 4 жыл бұрын
Great explanation, Thank you
@nielsofficeofficial9706
@nielsofficeofficial9706 2 жыл бұрын
Thanks this is very helpful tutorial Very satisfied. :))
@hamzatasc2068
@hamzatasc2068 2 жыл бұрын
Thank you !
@thegentofculture
@thegentofculture 3 жыл бұрын
You're awesome. Thanks for the explanation.
@abdessamadelidrissi5884
@abdessamadelidrissi5884 4 жыл бұрын
thank you very much
@Ralyns
@Ralyns 3 жыл бұрын
The note that you show at the end is great; however, it's no longer on the php manual page.
@CACAMAKAify
@CACAMAKAify 4 жыл бұрын
The best example for interfaces on youtube!
@parijke
@parijke 5 жыл бұрын
Did I miss a point or should the interface used for typehinting contain a function paymentProcess instead of just payNow?
@Dani_Krossing
@Dani_Krossing 5 жыл бұрын
I hope I'm understanding your question right. You are asking if the interface named "PaymentInterface" needs to have "payNow()" replaced with "paymentProcess()" as a requirement? In my example here, "payNow()" is used to perform the actual payment, and paymentProcess() is used to run the payment in the correct order for each individual payment type. The "PaymentInterface" only has the task of making sure that the classes has a method in them that performs the payments, but I can see your point in wanting to replace the two methods. Had I continued the example a little further I probably wouldn't replace the two methods, but instead include "paymentProcess()" together with "payNow()" inside the interface, since they are both required to make a payment no-matter the process each payment class require. Therefore having both of them would make for a better class behaviour to ensure no errors are made in the payment classes.
@parijke
@parijke 5 жыл бұрын
@@Dani_Krossing that is what I meant. Thanks so I know that I understand
@infosandfacts7536
@infosandfacts7536 4 жыл бұрын
@@Dani_Krossing For that reason start to run the code in your lessons than all errors come into light! That would push the quality of your vides!
@oanacristea2572
@oanacristea2572 2 жыл бұрын
@@Dani_Krossing would you then make payNow as private? I wound't want to see the payNow type hint.
@microcreditocalculod6959
@microcreditocalculod6959 3 жыл бұрын
thank you so much, very clear congratulation;
@dhruvkumar-br2lp
@dhruvkumar-br2lp Жыл бұрын
thank you
@tunamusic2314
@tunamusic2314 Жыл бұрын
why not in the paypal class, inside payNow method we firstly call loginFirst() method instead of creating creating another function is paymentProcess(), or this is also an alternative way ?
@johndoethethird
@johndoethethird 4 жыл бұрын
My bells are fully lit right now.
@LetsGraphiks
@LetsGraphiks 3 жыл бұрын
I was expecting the "if we could actually type that in correctly... like so" line. But a clone did it in the background so lmfao
@TechiePress
@TechiePress 3 жыл бұрын
This has been very helpful. Coming from typescript. Can I ask about traits? Can you make something about this?
@perturb7744
@perturb7744 4 жыл бұрын
that outro gets me every time.
@urbashikhatiwada8748
@urbashikhatiwada8748 4 жыл бұрын
Please make video on iterators and generators in php and real life use cases, closures in php, also A real life OOP Project like: POS system would be a great help to learn.
@MrErkan1969
@MrErkan1969 4 жыл бұрын
Great tutorial!!
@saadaqnuurgeedi7777
@saadaqnuurgeedi7777 2 жыл бұрын
big light went off in my head!
@engrmamun59
@engrmamun59 3 жыл бұрын
Every tutorials should to make with code execution output in browser !
@ivnstudios6135
@ivnstudios6135 3 жыл бұрын
perfect , like the episode
@prabu2778
@prabu2778 4 жыл бұрын
My mind voice : Hey you want to watch theses playlist one more time to understand😁
When to use Traits, Interfaces, and Abstract Classes in PHP
15:08
Andrew Schmelyun
Рет қаралды 20 М.
АЗАРТНИК 4 |СЕЗОН 1 Серия
40:47
Inter Production
Рет қаралды 1,4 МЛН
У ГОРДЕЯ ПОЖАР в ОФИСЕ!
01:01
Дима Гордей
Рет қаралды 8 МЛН
Girl, dig gently, or it will leak out soon.#funny #cute #comedy
00:17
Funny daughter's daily life
Рет қаралды 38 МЛН
A Practical Example How To Use Interfaces In Golang
14:42
Anthony GG
Рет қаралды 25 М.
Laravel Contracts and PHP Interfaces: Explained with Two Examples
10:10
PHP traits in depth with examples - OOP in PHP | Part 9
30:53
The Codeholic
Рет қаралды 13 М.
All Rust string types explained
22:13
Let's Get Rusty
Рет қаралды 171 М.
Should You Learn Object Oriented PHP?
13:48
Dani Krossing
Рет қаралды 10 М.
PDO Crash Course (PHP)
45:35
Traversy Media
Рет қаралды 277 М.
АЗАРТНИК 4 |СЕЗОН 1 Серия
40:47
Inter Production
Рет қаралды 1,4 МЛН