This just blew every lesson I've gone through on namespaces out of the water. Thanks for such a clear and thorough explanation.
@fiho-ohif2 жыл бұрын
I totally agree, within minute one I understood why I came here. Due to that I stayed for the rest of the content and have started looking through more of the series.
@ulijibkadelm318 Жыл бұрын
What the hell, no freakin way this tutorial is free. I've been following from the start and it just blew my mind how every topic covered in detail and not create an understanding hole like another tutorial video. DEF gonna check and be your patreon. Thank you sm Gio!
@ProgramWithGio Жыл бұрын
Heh, thank you 🙌 💙
@channel-gi3nd3 жыл бұрын
I wish this course goes viral and gets you millions of views
@ProgramWithGio3 жыл бұрын
Thank you 🙏
@JohnnyBigodes3 жыл бұрын
Showing errors/fails is completely valid. That way your viewers see why the error occured and will know how to fix it.
@ProgramWithGio3 жыл бұрын
I agree, that's why I show errors when I can. It's part of the learning process.
@purnimaaggarwal7656 Жыл бұрын
Best PHP tutorial I have ever seen!!!
@ProgramWithGio Жыл бұрын
Thank you 🙌
@kudafoolhu3 жыл бұрын
by far the best PHP series
@ProgramWithGio3 жыл бұрын
Thank you 🙌
@selcukdemirbas25143 жыл бұрын
You have very "smooth" tutorials and definitely deserve much more attention. Cheers.
@ProgramWithGio3 жыл бұрын
Glad you like them! Thank you & cheers 🙌
@quantumastrologer5599 Жыл бұрын
This is tutorial series is indeed a goldmine. Your subscriber count doesn't reflect the quality of this at all. Wish you all the best and thanks a lot!
@ProgramWithGio Жыл бұрын
Thank you 💙💙
@bracoyote96 Жыл бұрын
I just LOVE how he explains things. He uses the perfect words to explain each feature and the perfect examples for me to fully get it. When it comes to programming, people's brains work in different ways and the same explanation may not work for everyone. I love how this guys' brain works. It's just what I need ^^
@ProgramWithGio Жыл бұрын
This means a lot to me, thank you
@invgreat56082 жыл бұрын
Wow.... So clear, brief and simply put... THANK YOU!
@ProgramWithGio2 жыл бұрын
You're very welcome, thank you 💙
@iambasanta3 жыл бұрын
holly molly. crystal clear explanation. Thank you man ! You are a great teacher !!! Love from NEPAL
@ProgramWithGio3 жыл бұрын
Thank you, hello to Nepal 👋
@Armando-px8hi Жыл бұрын
I do not even know how but I understood every single word you said in this video(my language is not english).Thank you for this explanation,everyone needs your explanation about namespaces.Never knew about aliasing such a good thing.THANK YOU GIO!
@ProgramWithGio Жыл бұрын
Happy to hear that, thank you 🙌
@dancingdev10882 жыл бұрын
So awesome content. I'm right now brushing up my skills after working 8 years in the industry and this is so helpful
@ProgramWithGio2 жыл бұрын
Great to hear, thank you 💙
@deniskonvisar6079 Жыл бұрын
Very detailed and structured info in every lesson, thank you so much for your knowledge sharing!
@ProgramWithGio Жыл бұрын
You're very welcome 🙌
@basilistigris640 Жыл бұрын
By far the best programming course I've seen so far., and i have wacth a lot to learn the best practise, thank you very much!
@ProgramWithGio Жыл бұрын
Thank you 💙
@omaryahia Жыл бұрын
I really really really while(true) echo "really!" like your playlist. it is a gold mine! each video is like a piece of art I can safely say I have never thanked a youtuber that much and comment that many times on his videos you are really phenomenal with the insane insane high quality content you provide these are really well put and really well planned videos 🌷✨🌷✨🌷✨🌷 thank you gio I want to go all around telling my dev friends about your videos
@ProgramWithGio Жыл бұрын
Thank you, this means a lot & makes me super happy 🙏💙
@digitalgenre71942 жыл бұрын
WOW. This is almost Linked in quality tutorial. very well explained. thank you. the only difference is the you speak a bit to fast when compared to professionals instructors. Other than that, you are up there with then. Great job.
@ProgramWithGio2 жыл бұрын
Thank you. I am trying to improve on the speed, recent videos should be better :)
@oussamavive13 жыл бұрын
that's gold right there !!! thank you so much for these lessons man, it's huge!
@ProgramWithGio3 жыл бұрын
You're welcome, thank you 💙
@Vitalii-m6r Жыл бұрын
Namespaces are great. Thanks for the video!
@ProgramWithGio Жыл бұрын
You're welcome
@techatival3 жыл бұрын
The best PHP tuts!
@ProgramWithGio3 жыл бұрын
Thank you 🙌
@dailyprodmusic96563 жыл бұрын
Wow very easy way to explain those concepts keep going bro 👍💓
Thank you very much for this video. This was what i have been searching for.
@ProgramWithGio Жыл бұрын
Happy to hear 🙌
@keremardicli4013 Жыл бұрын
What a wonderful and outstanding lesson... Top notch
@ProgramWithGio Жыл бұрын
Thank you 🙏
@federicobau86512 жыл бұрын
best php course
@lairotuT-TutorialАй бұрын
Great explanation for namespaces! In addition to conflicts with namespaces you also mention the readability part of it. I often think about a general point where people discuss that its a pitty that PHP does not allow to extend a class to more than one class. Where most solutions come to interfaces and traits I usually found the core that it usually you need two separated classes as although you commonly talk about the "same" object you indeed think about two different objects. Let me give you an example of apps for vetenarians: It could make sense to have classes like Animals, Mammals extends to Animals, Dogs extends to Mammals, Labrador extends Dogs.... On the other hand classes like Customers, Patients extend Customers, Selfpayers extends Patients could be needed as well. On the other hand the Dogs are the Patients as well. I often don't go with Interfaces or Traits as the business case is mostly devided if I think about the dog as an animal OR as a patient. In the cases where both worlds might be needed I would instead create extra classes like DogPatients extends to Patients that makes use of public functions of the Dogs class as well and as maybe CatPatients that makes use of another Cats class. If however the primary point of view changes I have again extra classes like PatientDogs extends Dogs that only make use of public functions of Patients class. In these cases I guess using the alias DogPatients for the Patient class and the other way around would result in the usage of PatientDogs and DogPatients which shows that it indeed is the same object related to two classes. Do you agree or do you think that creates more confusion instead?
@ProgramWithGioАй бұрын
Yea that could be a way to solve such issues. I personally would make Patient an interface so that way anyone can be a patient
@lairotuT-TutorialАй бұрын
@@ProgramWithGio I see. Maybe I have to break through a wall in my thinking there. I guess a combination of Traits and Interfaces might be the better standard to use.
@toy_woody2 жыл бұрын
You are so good 😊 I will became PHP god because of you :D Thank you so much
@ProgramWithGio2 жыл бұрын
You can do it! Thank you
@boukhalfaKhaledIslam Жыл бұрын
You could use simple examples like animals or food in your next tutorials, as I am an Arabic person who does not know anything about paddle and stripe vendors, so I went to google and looked up these terms so I could follow along. Thanks a lot for the best PHP tutorial ever
@ProgramWithGio Жыл бұрын
Stripe and paddle are like payment gateways, it's real life examples. Using animals or food wouldn't make sense in this context
@johongirrahimov23433 жыл бұрын
Phew! 20 minutes took me 100minutes of my times to understand and complete as a PHP beginner
@ProgramWithGio3 жыл бұрын
It's ok and totally normal. I sometimes need to watch tutorial videos multiple times to understand things
@johongirrahimov23433 жыл бұрын
@@ProgramWithGio Yeah, harder it's better it's :)
@levani78513 жыл бұрын
first! amazing as always!
@ProgramWithGio3 жыл бұрын
Thank you :)
@CarlosOrtiz-sz2pp2 жыл бұрын
Very good class, thank you!!!!!!
@ProgramWithGio2 жыл бұрын
Thank you 🙌
@FranciscoJunior292 жыл бұрын
Thanks for share with us!
@ProgramWithGio2 жыл бұрын
💙💙
@3042640426 Жыл бұрын
You really are my hero! Can you explain why I need to require CustomerProfile in index.php? I thought I just had to use the full namespace/CustomerProfile in the Transaction file and that would be enough. Why is it necessary to require it? Is it because even if I specify the full namespace when running a new CustomerProfile, the program may not load the class? Is that why I have to require it? In Laravel, when I use the keyword "use", Laravel will help me autoload, so I don't have to require it again. Is that correct?
@ProgramWithGio Жыл бұрын
Thank you. We are not using autoloading in this episode, next episode is where we add composer & autoloading so require will no longer be needed.
@oleksandrdiatchenko11922 жыл бұрын
Perfect explanation! Thanks
@ProgramWithGio2 жыл бұрын
Thank you 💙
@jeevachaithanyansivanandan3 жыл бұрын
Thanks for explaining this.
@ProgramWithGio3 жыл бұрын
You're welcome 👍
@smilemakerb2 ай бұрын
Great explanation!!
@ProgramWithGio2 ай бұрын
Thank you
@Zubbee2 жыл бұрын
Thanks a lot Gio. I follow
@ProgramWithGio2 жыл бұрын
Thank you
@AlirezaSalehi-xz3ch3 жыл бұрын
thank you
@ProgramWithGio3 жыл бұрын
You're welcome
@ehsantavakoli24182 жыл бұрын
Thanks a lot for your awesome videos . Can you just create videos for design patterns too ?
@ProgramWithGio2 жыл бұрын
You're welcome, thank you for the suggestion
@khaledrayan2664Ай бұрын
Best of the Best 🥰
@ProgramWithGioАй бұрын
Thank you
@emekatimothyiloba699 Жыл бұрын
Hey Gio, thanks for all you do. Please how long have you been writing PHP code and how do you learn
@ProgramWithGio Жыл бұрын
13+ years. I learn by reading open source code, diving into the source of framework when I don't understand something & by watching videos/reading articles about specific topics.
@emekatimothyiloba699 Жыл бұрын
Great
@ProgramWithGio Жыл бұрын
Thanks
@evilservo Жыл бұрын
with this course I am starting to understand how Laravel is structured
@ProgramWithGio Жыл бұрын
That's awesome, happy to hear
@rickythegermanshepherd5438 Жыл бұрын
Thank you 🙏
@ProgramWithGio Жыл бұрын
You're welcome
@kenjohnsiosan97072 жыл бұрын
Thank you sir
@ProgramWithGio2 жыл бұрын
🙌🙌
@memack1012 жыл бұрын
Thank you.
@ProgramWithGio2 жыл бұрын
You're welcome 💙
@Netpilation5 ай бұрын
i could not help but like
@ProgramWithGio5 ай бұрын
Thank you
@udayan285 Жыл бұрын
Thanks
@ProgramWithGio Жыл бұрын
No problem
@benderbg3 ай бұрын
Its not stated in the video clearly at 11:30, but to instantiate Email class after prepending it with backslash or importing it we also need to include it in the index.php file with: require_once '../Notification/Email.php';
@ProgramWithGio3 ай бұрын
Thanks for pointing it out. I think I accidentally cut out the audio/video portion during editing
@alidakhil35542 жыл бұрын
Super excellent!!
@ProgramWithGio2 жыл бұрын
Thank you
@prashantgupta19409 ай бұрын
Hey! I know it's a big ask for the course which is completely free with such amazing quality. But it would be great if you made a git repo of the code at the end of every video. Will be more than happy to help you if you want.
@ProgramWithGio9 ай бұрын
There is a repo for lessons where it makes sense. Some lessons are pure theory so not much can be put into repo. You can check descriptions of the videos and you will find the link to the repo
@prashantgupta19409 ай бұрын
@@ProgramWithGio Got you. Just thought it would be easy to code along for a beginner like me.
@mohammad9649 Жыл бұрын
JUST GREAT ...
@ProgramWithGio Жыл бұрын
Thank you
@dev_troy89039 ай бұрын
11:00 regarding the fully qualified namespace, I felt that putting a back slash before the namespace was like telling php to return to the global namespace then look for the notification namespace. Is that what it really means ?? Also another question, after 11:00, what keyboard you are using, if you don't mind saying. 😄
@ProgramWithGio9 ай бұрын
Yea pretty much. Dont remember which keyboard I was using at that time :D
@tolebiGamingTimeАй бұрын
Good lesson, Can you make a cool video like this about microservice architecture?
@ProgramWithGioАй бұрын
Maybe in future
@tolebiGamingTimeАй бұрын
@@ProgramWithGio I'm impatiently waiting and everyone is also waiting for you, thank you for everything you do
@alphayowakarindi2 жыл бұрын
Thank you!
@ProgramWithGio2 жыл бұрын
You're welcome 👍
@ieduardoms Жыл бұрын
Thank you very much. By the way, I think you don't need to apologize for making coding mistake, every developer makes mistakes. Have you ever worked with a developer who doesn't make mistakes?
@ProgramWithGio Жыл бұрын
Of course, this was more like a joke. Thank you 🙌
@arduinoguru72332 жыл бұрын
Can you do ActiveRecord PHP tutorial, I subscribe waiting for the tutorial very few made tutorials like you.
@ProgramWithGio2 жыл бұрын
Thank you for subscribing. We will cover active record basics in the third section, we are on Data Mapper now & Doctrine.
@arduinoguru72332 жыл бұрын
@@ProgramWithGio That's really great, I was doing simple basic php coding for years form my personal project, and I want to learn what's so-called "Software Engineering" your lessons will help a lot.
@mimoh20002 жыл бұрын
I followed the tutorial with the same file structure. Am using PHP 8.2.0 alpha with nginx 1.23.1. requiring the full class path works. But when using the namespace keyword, everything breaks with class not found.
@mimoh20002 жыл бұрын
I found out the problem. I forgot to add the require_once at the top of the file. I really need to completely remove my Java cap and put the PHP version. Thanks.
@ProgramWithGio2 жыл бұрын
Awesome, glad you figured it out
@HakanGalip Жыл бұрын
When did we instantiate the explode() function ? I did not see that... We get problems when using autoloader and try to instantiate a class from a different Folder. How to solve this problem?
@ProgramWithGio Жыл бұрын
Not sure what you mean. Explode is not a class so you don't instantiate it. What problems are you seeing, can you post error message? Also without seeing your code it's hard to help you, so if you post your code in GitHub I'll be happy to take a look. You can also DM me on Twitter and send me screenshot of the problem 👍
@imdadullah90932 жыл бұрын
Please make a video on debugging in php there is no video available
@ProgramWithGio2 жыл бұрын
There is a video about debugging using xdebug in third section. Keep watching & you'll get there
@hajiomary491310 ай бұрын
I see object(...)#2 but it is the first instance, for example in 16:07. So how this number 2 comes
@ProgramWithGio10 ай бұрын
There are 2 objects, 2 different instances
@pravin10742 жыл бұрын
Can you explain php inotify
@ProgramWithGio2 жыл бұрын
I have not used inotify. Not sure if I will include that in this series but maybe as a stand alone video, thanks for the suggestion
@awaiskhan-bd7cr5 ай бұрын
U r a great teacher but one thing is that your speed is too fast those who barely understand will struggle a lot in this course ❤
@ProgramWithGio4 ай бұрын
Yes, you are right. This was a mistake I made in some of these videos. Gets better in third section
@julienSibille3 жыл бұрын
When i use the bracket to import multiple classes from the same namespace, i can not use my vscode right click "import class" functionnality anymore
@ProgramWithGio3 жыл бұрын
I don't use vscode so I'm not sure what the issue is. You can DM me with a screenshot & I can help troubleshoot it if you still need help
@juliocheranthonypenaperez7919 Жыл бұрын
Why do we have to import the file but also use the use {namespace}?
@ProgramWithGio Жыл бұрын
Not sure I understand the question, can you clarify? You need use statement to import the file
@Cheranthony Жыл бұрын
@@ProgramWithGio Sorry I was confused, I had to watch the video several times to understand that Namespaces are used to use classes that have the same name
@mark-dev-13 ай бұрын
1:55 didn't actually get error with constants.
@ProgramWithGio3 ай бұрын
Are you sure its the same constant name & both files are included in the same place?
@n_o_x23432 жыл бұрын
whats your IDE?
@ProgramWithGio2 жыл бұрын
Phpstorm
@MobiusCoin Жыл бұрын
Why is name spacing functions not a common practice but classes are?
@ProgramWithGio Жыл бұрын
What do you mean? Namespaces is very common
@MobiusCoin Жыл бұрын
@@ProgramWithGio You said at 5:10 that namespacing functions and constants are not common practice.
@ProgramWithGio Жыл бұрын
Ah I misunderstood the question. Its just I dont se namespacing functions being used alot in codebases
@truthteachers2 жыл бұрын
Bro, the source codes from 2.2 to 2.3 and this one are all disconnected. What i mean is you are popping up scripts from nowhere.😒 The codes in this video are not available as starter. I do not know how the others are finding it to be good but i totally lost.
@ProgramWithGio2 жыл бұрын
Some videos don't have a source like this one because there is not much to include. It's mainly theory, it's not like a project. Some videos where more coding is involved the link to source is in the description. This one just shows examples. If you still need these examples ping me on Twitter and I'll write them and send them to you no problem.
@truthteachers2 жыл бұрын
@@ProgramWithGio To follow the code, test and try i would need the code. Since it just a theory that it would have been good if you could stated where to locate the starter code at the beginning of each video. You course is very extensive and good but does is not complimented well and seems too rushing. I had to slow down the speed of the video. Anyway, its ok.
@ProgramWithGio2 жыл бұрын
@@truthteachers starter code is any of the previous codes, so if you have source from like 2.1 it's the same, you can code along with that, it's just 3 files with about 10 lines of code on each so I don't really see a problem. If anything it's better to write it on your own following the video with pauses but that's just my opinion. As I mentioned other videos where there is more coding involved there is a link to the repo. I'll see if I can commit these files for this video as well 👍. I do agree about the speed being too fast, I improved on that later on, was doing editing wrong and cutting out too many empty spots which makes it sound that I don't breath, should be better in the third section.
@truthteachers2 жыл бұрын
@@ProgramWithGio Fantastic. Thank you.❤
@das_evoli2 жыл бұрын
Not 100% sure if I like how php handles namespacing. It looks like it can get messy pretty fast
@ProgramWithGio2 жыл бұрын
Can you elaborate? I think namespaces are actually done pretty well
@das_evoli2 жыл бұрын
@@ProgramWithGio I think what throws me off is that I don't understand why we can't just use an alias on the require statements and use that alias to refer to the correct class
@ProgramWithGio2 жыл бұрын
@@das_evoli keep watching, we get to composer & autoloading that will make it make more sense why namespaces are good & better than include/require because namespaces work really well with autoloading.
@watchernode6138 Жыл бұрын
18:00 Why do you call them Square brackets, when you are using curly brackets ? use PaymentGateway\Paddle\{Transaction, CustomerProfile}; // {}
@ProgramWithGio Жыл бұрын
You're right, I misspoke. Sometimes I get carried away 😁
@fakhriddinabduraimov3323 Жыл бұрын
What happened? till this video everything was understandable. Here Everything very fast, codes changing fast, speaking very fast ((
@ProgramWithGio Жыл бұрын
You can slow it down on KZbin by setting the playback speed. Is there anything specific that is confusing?
@unik_production Жыл бұрын
why are you rushing while teaching keep it simple and slow down your speed
@ProgramWithGio Жыл бұрын
I just talk fast in general but during early on in this course I made editing mistakes where I cut out empty spaces so it make it seem like I don't breathe. Should get better later on. That being said, thankfully KZbin has a feature to let you slow it down to your liking
@Rahul-ur6xz2 жыл бұрын
Why Do You Speak So Fast ? I Hate That
@ProgramWithGio2 жыл бұрын
I improved on that in later videos. I've made a mistake where I cut out almost all empty spaces in videos during editing which make it sound like I don't breathe. You can thankfully slow it down on KZbin, click the ⚙️ icon and set playback speed to 0.5x 👍
@Rahul-ur6xz2 жыл бұрын
@@ProgramWithGio ok
@truthteachers Жыл бұрын
Bro, at timestamp 13:29 why does the var_dump explode prints 'foo" without the $this in var_dump(explode(',',"hello,world'))? In my case it is still run the built-in explode function and not the class function. I get the date and time printed instead of 'foo'. I am using PHP 8.1.
@ProgramWithGio Жыл бұрын
Because it is running the explode function that is defined in the same file that contains the class, can't use $this because function is not within the class, if you notice it is outside of the class. Show me your code & I may be able to help further since without seeing the code I can't really know why you are getting different result.
@truthteachers Жыл бұрын
Bro, the DateTime Class still loads even though its not in the same namespace. PHP will look for a class within the namespace and if not found it will look for it the global space. Is this correct?
@ProgramWithGio Жыл бұрын
I think I answered your other question which may help answer this as well. In short, yes, if you define function in the same file then it will use that function, otherwise it will look for the function in global space.
@xescoalarconmoral490410 ай бұрын
@@ProgramWithGio Hi! I'm using vscode and I think @truthteacher is also using it. Vscode "automagically" writes a line with: use DateTime; I think in this case this IDE is "too smart". I'm talking about 09':25'' but I think is the same problem. Gio you are brilliant and this is the best course I have ever taken ❤
@webdevtutorials657911 ай бұрын
use './../..'; didn't work for me namespace './../..'; worked
@ProgramWithGio11 ай бұрын
Can be because of how it's setup on your end. Also I saw your reply on other comment in email but don't see it here. Maybe KZbin removed it, sometimes it does that. To address that part, I explained how to instantiate objects in the beginning of the section so I'm not sure what you mean. If you follow the course from start to end you should be fine. If you are just picking & watching random videos then yea u might feel like something was missed. Either way the course may not be for everyone, plenty of other courses & content out there. Best of luck 👍
@webdevtutorials657911 ай бұрын
@@ProgramWithGio you explained how to instantiate objects but you didn't explain that in a class we can define a variable/attribute/field of type object as an instance of another class, an example from previous video : class Transaction { public ?Customer customer = null; } please just take this as feedback and nothing else
@ProgramWithGio11 ай бұрын
@@webdevtutorials6579 but that's just a property, I covered properties and property can have any scalar type or object type. The restriction as far types goes is callable & I mentioned that as well I think. Maybe I should've made it clearer, thanks for the feedback.