11 months ago I wrote my first line of code, it was python, I used python to learn the basics and get on road. I studied front end for 5-6 months, mostly React, every day, the entire fking day, I was enjoying it, but getting a job was so hard (Yes, now I know 6 months is nothing), it felt like everyone was filling the vacancies for React instantly. So I got frustrated and took a break for ~40 days. when I came back I was sick of the front end, I started learning Node (Yes, once again I was entering the same hole) and quickly discarded it. So I started thinking about programming something a notch below popularity, I noticed here in my country a lot of people still uses php, which i thought was trash bc not many people make content for php compared to the holy grail fullstack JS. But oh boy I was wrong, actually that is the reason why php is so perfect, it is underrated, "nobody" wants to learn, you have more opportunities. I started learning php 3-4 months ago bc i found this series, I learned Laravel in parallel at some point and now im working as a freelancer, yesterday I finished my first Web App for a company and now i have like dozen Apps to come bc they loved it. PHP rocks! Thank you Gio for your hard work man, I love you.
This was very cool. Again seeing how refactoring makes things scalable, expandable and more is amazing. I've been forging ahead with the hope that I'll return to these lessons when I encounter these things. I'm like a sponge for now, just taking... Lord help me. Thanks Gio!
Awesome knowledge, thanks If possible after finishing this course.. please make a full project like ecommerce or blog ... That's way we understand all of the knowledge that you share and how to implement in real life project.
I totally agree with you. Those are really abstract and advanced concepts, and the best way to absorb all this stuff is through some kind of a project. I swear, I would pay for that. This is the most complete and most advanced PHP course I found on the internet, and if he includes a project in it, that would be perfect.
@@ProgramWithGio Thanks sir for accepting suggestions. It's means a lot. You have share a such tremendous knowledge in this 3 course. After the real project our base is strong enough to create any project. We will waiting for that project. Once again thank you
@@devhenry9054 no problem. It was always a plan to work on a project at the end. It won't be e-commerce but it's going to be a good project that will allow us to practice most of what we learned in the series
Sir, there is a callable argument $handler in the retry method can you you explain from where it is fetching that argument while you didn't declared that anywhere.
Hello, I'm start learning php from this series , l'm asking about how can i practice php or where can i find php exercises as i need Practical application to lessons( l'm in first lessons) Thx
Hello. At the end of first & second sections there is an exercise you can work on. Aside from that you can work on some project and practice your skills that way, can even expand on the exercise project from the end of section one.
Would it be possible to instead of binding key in the DI container, make $apiKey in constructor of EmailValidationService as optional? If different key is not passed as argument, it pulls it from .env? By the way, you create amazing videos and I hope more people will consider learning PHP after seeing your channel ✌️
Thank you 🙏. Sure, many different ways you can do this. The thing that would bother me though is having to load stuff from env from within email validation service.
On line 80 in the RetryMiddleware (method onFulfilled) it should say "if (!call_user_func( $this->decider, $options['retries'], $req, $value, null )) { return $value; }" It took me a while to figure out what the !($this-decider) meant until I checked the Guzzle code myself and I found it like I quoted before. Unless it's a notation I m not familiar with... Gio your comments please.
($variable) does not call function, it just wraps it around, ! $this->decider() would not evaluate properly, therefore it wraps the variable in parenthesis ($this->decider)() and applies the ! to it. Its basically to make sure that the ! part is applied to the result of the function call instead of it being applied to $this->decider as a property.
@@ProgramWithGio Ohh I see. Didn't know that! Now it makes more sense. The call_user_func made it clear to me as soon as I read it in the code (at least of the Guzzle version I 've got). I know this part wasn't your code but I really struggled to follow the part of the middleware before having understood this. Thanks for clearing that out Gio. I hope this explanation helps others that are unfamiliar with this as well :)
11 months ago I wrote my first line of code, it was python, I used python to learn the basics and get on road. I studied front end for 5-6 months, mostly React, every day, the entire fking day, I was enjoying it, but getting a job was so hard (Yes, now I know 6 months is nothing), it felt like everyone was filling the vacancies for React instantly. So I got frustrated and took a break for ~40 days. when I came back I was sick of the front end, I started learning Node (Yes, once again I was entering the same hole) and quickly discarded it. So I started thinking about programming something a notch below popularity, I noticed here in my country a lot of people still uses php, which i thought was trash bc not many people make content for php compared to the holy grail fullstack JS. But oh boy I was wrong, actually that is the reason why php is so perfect, it is underrated, "nobody" wants to learn, you have more opportunities. I started learning php 3-4 months ago bc i found this series, I learned Laravel in parallel at some point and now im working as a freelancer, yesterday I finished my first Web App for a company and now i have like dozen Apps to come bc they loved it. PHP rocks! Thank you Gio for your hard work man, I love you.
This has made my day, that is awesome & proud of you. Thank you so much 💙
In the US Node might be taking over PHP, but pretty much the rest of the world still prefers PHP, around 70%.
Wow, this great! Gio's lessons have been absolutely amazing. Thanks again and again Gio
very inspiring! keep it up!
Are you programming in vanilla Php?
This is by far the best tutorial for PHP learners! Thanks!
Glad you think so, thank you
Great video as always! I've been using Guzzle for a long time and didn't know about the retry method. Thank you!
I know right? I did not know this as well myself.
This was very cool. Again seeing how refactoring makes things scalable, expandable and more is amazing. I've been forging ahead with the hope that I'll return to these lessons when I encounter these things. I'm like a sponge for now, just taking... Lord help me. Thanks Gio!
That's awesome, thank you 💙
I see a new video from Gio, I smash the like button!
Thank you so much 🙏💙
king of deep explanation
👑👑
Really awesome video. Waiting for your DTO video.
Thank you 💙
Never heard about this. Thanks for bringing it to my notice ❣️❣️🤗
You're welcome, thank you 🙌
Awesome knowledge, thanks
If possible after finishing this course.. please make a full project like ecommerce or blog ... That's way we understand all of the knowledge that you share and how to implement in real life project.
Thanks for the suggestion 💙
I totally agree with you. Those are really abstract and advanced concepts, and the best way to absorb all this stuff is through some kind of a project. I swear, I would pay for that. This is the most complete and most advanced PHP course I found on the internet, and if he includes a project in it, that would be perfect.
@@nerminsistek9006 we will work on a full project at the end and deploy it
@@ProgramWithGio Thanks sir for accepting suggestions. It's means a lot. You have share a such tremendous knowledge in this 3 course. After the real project our base is strong enough to create any project. We will waiting for that project. Once again thank you
@@devhenry9054 no problem. It was always a plan to work on a project at the end. It won't be e-commerce but it's going to be a good project that will allow us to practice most of what we learned in the series
Pure gold. Thank you.
Thank you
Thanks you very very much may god bless you, bro!)
Thank you 🙌
Sir, there is a callable argument $handler in the retry method can you you explain from where it is fetching that argument while you didn't declared that anywhere.
That is provided by Guzzle PHP
Great tutorial series :)
Glad you like them. Thank you
Thank you ❤
You're welcome 🙌
Can you have an overview about grpcurl
Haven't used that, thanks for the suggestion
Hello,
I'm start learning php from this series , l'm asking about how can i practice php or where can i find php exercises as i need Practical application to lessons( l'm in first lessons)
Thx
Hello. At the end of first & second sections there is an exercise you can work on. Aside from that you can work on some project and practice your skills that way, can even expand on the exercise project from the end of section one.
Would it be possible to instead of binding key in the DI container, make $apiKey in constructor of EmailValidationService as optional? If different key is not passed as argument, it pulls it from .env? By the way, you create amazing videos and I hope more people will consider learning PHP after seeing your channel ✌️
Thank you 🙏. Sure, many different ways you can do this. The thing that would bother me though is having to load stuff from env from within email validation service.
Thank you.
💙
On line 80 in the RetryMiddleware (method onFulfilled) it should say "if (!call_user_func(
$this->decider,
$options['retries'],
$req,
$value,
null
)) {
return $value;
}"
It took me a while to figure out what the !($this-decider) meant until I checked the Guzzle code myself and I found it like I quoted before. Unless it's a notation I m not familiar with... Gio your comments please.
It calls the function by doing () on it, it doesn't need call_user_func in that case. You can call functions like this $variable()
@@ProgramWithGio I knew the $variable() and the call_user_func but never have I seen the ($variable) one. Just wanted to clarify this.
Or the ($variable)(args) rather...
($variable) does not call function, it just wraps it around, ! $this->decider() would not evaluate properly, therefore it wraps the variable in parenthesis ($this->decider)() and applies the ! to it. Its basically to make sure that the ! part is applied to the result of the function call instead of it being applied to $this->decider as a property.
@@ProgramWithGio Ohh I see. Didn't know that! Now it makes more sense. The call_user_func made it clear to me as soon as I read it in the code (at least of the Guzzle version I 've got). I know this part wasn't your code but I really struggled to follow the part of the middleware before having understood this. Thanks for clearing that out Gio. I hope this explanation helps others that are unfamiliar with this as well :)
💙💙