I really like this course, basically it takes every single topic and delves into the PHP documentation to cover the important topics and gives examples. Moreover, the rythm is quite fast, which means that you don't lose focus and, the videos are short and to the point, which means that for somene who is learning this while working and looking after a family, you can go and see (or review) a 5 minutes a 10 minutes video. Perfect and I can imagine this has been a lot of work
@ProgramWithGio Жыл бұрын
Glad you like it, thank you 🙌. It has been a challenge for sure & took up a lot of time. Almost 3 years to complete the series to be exact heh
@prajwalsiwakoti98662 жыл бұрын
i think a separate detail video about callbacks and closure would be great Gio
@ProgramWithGio2 жыл бұрын
Thanks for the suggestion
@aayushmishra64693 жыл бұрын
It was so hard for me to find this series but at last a good PHP course.
@ProgramWithGio3 жыл бұрын
Glad you found it 😊. Thank you 🙌
@aleksandrkanygin26722 жыл бұрын
Exactly, but finally that's exactly what i was looking for
@ZeeshanMRaje4 күн бұрын
forget about functions but i wasn't aware of lot terms i have heard in this course from last 6 days . Great Tutorial
@emekatimothyiloba699 Жыл бұрын
PHP is here to stay!! Thanks man
@ProgramWithGio Жыл бұрын
For sure 🙌
@rickybarabba78663 жыл бұрын
Your videos are very good Gio.
@ProgramWithGio3 жыл бұрын
Thank you 😊
@borakayalar11 ай бұрын
Gio, I'm so sorry I found you late. You are the channel that offers the best php content I have ever seen.
@ProgramWithGio11 ай бұрын
Welcome 👋 & thank you 🙌
@MrWhy073 жыл бұрын
Thanks for your hard work. These videos helped me understand better a lot of things.
@ProgramWithGio3 жыл бұрын
That's awesome, you're welcome Viorel 🙌
@petruciucur2 жыл бұрын
This video lesson requires more viewings. Very well worked.
@ProgramWithGio2 жыл бұрын
Thank you
@FatosDaNaturezaOficial Жыл бұрын
So far i'm learning php in your videos and I'm loving it, thanks for this great free opportunity, i checked several php course on udemy, i bought one course and i didn't like it, until i found your youtube channel, as far as i can say , you teach very well!!!
@ProgramWithGio Жыл бұрын
Happy to hear that, thank you 🙌
@TechFutureFocus2 жыл бұрын
brother u do magic with this course ,really thank u and please continue for projects love ur way on explanation really u are awesome
@ProgramWithGio2 жыл бұрын
Thank you 💙
@BrenIrwin2 жыл бұрын
Two minutes in and I've learned something new. Thanks for the video!
@ProgramWithGio2 жыл бұрын
That's awesome 🙌
@Vitalii-m6r Жыл бұрын
These lessons are extremely useful for PHP learners. Thanks a million!
@ProgramWithGio Жыл бұрын
Glad you like them, thank you
@CarlosAndresAristizabal-d2s Жыл бұрын
Thanks for sharing your knowledge. This is without a doubt one of the best, if not the best PHP channel out there.
@ProgramWithGio Жыл бұрын
Thank you 🙏
@ahmedmahdy66762 жыл бұрын
Thank you for sharing your valuable knowledge with us!
@ProgramWithGio2 жыл бұрын
you're welcome
@OlayDede2 жыл бұрын
Great video. Thank you!
@ProgramWithGio2 жыл бұрын
Thank you 💙
@andrewsokolovsky91272 жыл бұрын
Thank you man, I get a lot of new information!
@ProgramWithGio2 жыл бұрын
Glad to hear that, thank you 🙏
@OlgaFB1 Жыл бұрын
wow! so thorough! thank you!💗
@ProgramWithGio Жыл бұрын
You're welcome, thank you
@Jam-ht2ky Жыл бұрын
im already starting to get my hand on experience and caching up on PHP and this is only tutorial 25 I can only wonder what finishing the entire course will teach me! thank you for making this amazing PHP 8 tutorial
@ProgramWithGio Жыл бұрын
Happy to hear that, keep going 💪
@Armando-px8hi Жыл бұрын
Another Perfection by you Gio.Thank you
@ProgramWithGio Жыл бұрын
Thank you 🙌
@jessieren64763 жыл бұрын
I will thumb up all your tutorials, thank you sir.
@ProgramWithGio3 жыл бұрын
Thank you Jessie
@iqorimane3575 Жыл бұрын
amazing content 👏
@ProgramWithGio Жыл бұрын
Thank you
@lotuslando1994 Жыл бұрын
Yet another very thorough and comprehensive explanation. Thanks so much! And I agree with the other commenters. Your course is far and away better than any paid course I have looked at. One question though, at timestamp 6:50, using your code example, I get the expected output array values, plus the number 1 at the end: $array = [1, 2, 3, 4]; $array2 = array_map(function($number) { return $number * $number; }, $array); echo ''; echo print_r($array2); echo ''; OUTPUT: Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 ) 1
@ProgramWithGio Жыл бұрын
Thank you. You probably have echo statement somewhere after the print_r, that 1 is not part of the print_r output so its a separate echo statement seems like
@cininformatica229 ай бұрын
Hello Gio! Great tutorial. Thanks for making available this course. Just an observation I could realize about arrow functions: we can modify the variables from the parent scope by using the superglobal $GLOBALS. For instance: $x = 5; $array = [1, 2, 3, 4, 5]; $result = array_map(fn($number) => $number * $GLOBALS['x']++, $array); var_dump($x); // It prints int(10)
@ProgramWithGio9 ай бұрын
Hey. You should not use $GLOBALS at all, and in PHP8.1 write access was disabled I think. Either way you shouldnt use it
@cininformatica229 ай бұрын
@@ProgramWithGio thanks for the explanation. I just tried to use $GLOBALS as an exercise as I saw you explaining in the normal functions topic. But I'll avoid to use $GLOBALS as recommended.
I want to thank you again for this amazing content. You have a very thorough knowledge of the language, it is very impressive. If it's not intrusive, is it possible to know your background? Have you passed the zend certification? Thanks, I'll take note of everything!
@ProgramWithGio Жыл бұрын
You're welcome, glad you like it. I have not taken any certifications. I've just been working with PHP for awhile over 12 years, have worked on legacy projects that started from PHP 4 and had to migrate some to PHP 5 many years ago. Before PHP I've coded in Java & C++ mainly.
@hex92192 жыл бұрын
Thanks man, awesome
@ProgramWithGio2 жыл бұрын
You're welcome 💙
@josephjohn48102 жыл бұрын
if i can like this series twice i would, very informative, more than lot of paid courses on udemy, thumbs up. However, i would like you to create for laravel if possible, thank you
@ProgramWithGio2 жыл бұрын
Thank you 🙏. I'll be doing more Laravel content after I finish the PHP series 💙.
@aswadali51392 жыл бұрын
@@ProgramWithGio YES! please come with a complete LARAVEL course in the future! that will be really awesome.
@AxxionMarketPlace-iu6ri Жыл бұрын
Thank you
@ProgramWithGio Жыл бұрын
You're welcome
@ilya_123__ Жыл бұрын
thank you!
@ProgramWithGio Жыл бұрын
You're welcome
@lairotuT-TutorialАй бұрын
Wew.... first of all great video again! We are getting into really deep stuff for me... I can't wait for the end of the video to ask the question about callable functions. What is a typical usecase for is_callable in real programming life? In my limited understanding the coder should know if there is a function that is called to... The only exception could be what you did not recommend some lessons ago when the function is conditionally declared? I consider if it makes sense for me to add this to my testing object that is extracted in published version. Are there other usecases?
@ProgramWithGioАй бұрын
You an have functions assigned to variables, you may also have function names stored in variables. In practice you wont use is_callable as much
@FranciscoJunior292 жыл бұрын
It's awesome!
@ProgramWithGio2 жыл бұрын
I'm glad you like it
@nyinyiandnyinyi7 ай бұрын
can you please do similar video covering important basics for JavaScript? thanks
@ProgramWithGio6 ай бұрын
I might
@NguyenHung-hb3sb4 ай бұрын
I come from javascript and I also hope that they will support multiline for the arrow function. :D
@ProgramWithGio3 ай бұрын
Maybe in future heh
@jewgienijbrzozowski84512 жыл бұрын
Maybe in future Arrow functions like in ES6. That would be dope
@ProgramWithGio2 жыл бұрын
It's pretty close :)
@imperialgamer83612 жыл бұрын
Clear thnx
@ProgramWithGio2 жыл бұрын
Glad to hear, thank you
@yarik83men513 жыл бұрын
Will you continue with your PHP lessons?
@ProgramWithGio3 жыл бұрын
There are three sections to this series. This is the first section. Second section was recently completed & we'll start the third section soon.
@derzskyi1 Жыл бұрын
Is there a video about \Closure , first class callable in your channel? I have not found it.
@ProgramWithGio Жыл бұрын
This video has some info about closures. You can see full list of topics github.com/ggelashvili/learnphptherightway-outline here
@gincaza19132 жыл бұрын
i hope callable/callback will be easier to understand later lol
@ProgramWithGio2 жыл бұрын
It will make more sense later in the series 👌
@ahmedalmaazon7525 Жыл бұрын
Excellent work Gio, but this part could be done better.
@ProgramWithGio Жыл бұрын
Thank you. Can you elaborate a little bit on what could be better?
@ahmedalmaazon7525 Жыл бұрын
@@ProgramWithGio - Real life examples, when should I use closures and why they existed. As a new comer to PHP I got overwhelmed with these functions branching, that a real life example will help a lot. And this will not change my opinion that this series it the best PHP intro ever.
@ProgramWithGio Жыл бұрын
@@ahmedalmaazon7525 Got it, thanks for the feedback. Will keep that in mind. At the end of this section there is a mini exercise where we get to practice things learned in the first section.
@yarik83men513 жыл бұрын
Super
@ProgramWithGio3 жыл бұрын
Thanks
@mbpfx-3 жыл бұрын
thanks and whats this color theme ?
@ProgramWithGio3 жыл бұрын
You're welcome. It's Darcula theme from PHPStorm
@prajwalsiwakoti98662 жыл бұрын
so the concept of PHP closure and Js closure is different?
@ProgramWithGio2 жыл бұрын
It's the same idea. There are some differences though like variable scoping. In js closure you can access variable from outer scope in PHP you can't unless you put "use" and pass the variables.
@watchernode6138 Жыл бұрын
@@ProgramWithGio So, what is the use of closure in PHP, instead of passing arguments normally fn($x), you pass through use($x). Or is it to bind a variable to a function, so use is alternative to global variables. If I'm not mistaken we can pass a variable as default value of argument, since it evaluates to value in most cases. I think PHP is trying hard to emulate JavaScript features, to compete with NodeJs.
@ahzamlathiya63673 жыл бұрын
How to make class methods/static methods bind as variable functions? So that they can be passed in somewhere where entire function body is to be passed. Thanks.
@ProgramWithGio3 жыл бұрын
You would pass an object of the class and call those methods on that object. For static methods you can just directly call them using classname
@lairotuT-TutorialАй бұрын
Next question (related to anonymous function/"use"): I see that "use" inside the anonymous function only gains access to parent-local-scope-parameters, where global gains access to all global parameters, right? Does it make sense that use is not usable in standard functions? Or the other way around, why not pass the parameter in an anonymous function in the same way you do it in a standard function? Is, in your opinion (or in the programmers community you know): $sum = function (int|float ...$numbers) use($x): int|float {//code}; more readable than $sum = function ($x, int|float ...$numbers): int|float {//code}; or does it even have differences I don't see?
@ProgramWithGioАй бұрын
They have different purposes, first one brings in the variable access from the outer scope while the second one passes down the variable as a dependency. Passing it as dependencies is always better but sometimes you just want to grab the variable from outer scope instead of passing it as a dependency, thats when you would use the 'use'.
@lairotuT-TutorialАй бұрын
@@ProgramWithGio I guess I still don't have the point here. Maybe I do not really understand the clear difference between a dependency and the variable that the function usually depends on when you pass it down. I guess thats the lack of real IT education on my side. But from what you said I understand that there would be usecases for standard (non-anonymous) functions to get access to a "use"-functionality as well, correct? How do I realize the purpose of a dependency in case of a normal function?
@ProgramWithGioАй бұрын
For standard non anonymous functions to get access to variables outside of its scope is called global scope & you want to avoid global scope as much as possible. Its bad design. The proper way to get access to outer scope from a function is by having class properties, that way methods defined in your class get access to properties of the class. If your function/method needs say tax rate variable, its a lot better to pass this as a dependency as an argument versus accessing it from somewhere in the global state.
@lairotuT-TutorialАй бұрын
@@ProgramWithGio rofl... guess we are biting the snakes tail .... That is exactly where we started off. It is possible (but not advised) to access global variables in anonymous functions in the same way as it is within standard functions. But instead we are using dependencies by ...use($x)... option 1: argument: function($x) can be used in anonymous and standard parent scope option 2: dependency: function() use ($x) can only be used in anonymous - no equivalent in standard other than option 1 or 3 parent scope option 3: global: function() { global $x;} (not advised) possible but not advised in anonymous and standard global scope Now if there is a separate purpose for option 2 in anonymous functions, why isn't it there for standard functions as well? Or is it like that: When I see the purpose for option 2 I should search for a solution using anonymous function instead of the standard one? With saying this I want to thank you once again and deeply from the heart that you discuss with me in this depth, but of course this is not neccessary. You may always just say that this could be discussed on other platforms but your comments section. That would be fine for me and I would still go on to comment, hoping that I can support your channel by this - at least if you like my commenting 🙂. I can of course as well switch over to a standard "well done"-comment if this is preferred.
@ProgramWithGioАй бұрын
@@lairotuT-TutorialYou are confusing the use & dependencies. Use gives you access to outer scopes, it's not dependency function. Passing dependencies through function arguments is passing dependencies. It doesn't make sense to have use available for regular functions. Commenting is fine or you can reach me on Twitter/X
@codingtalkies47493 жыл бұрын
thanx for the tutorial but a bit tough to keep up with the speed of the video !!
@ProgramWithGio3 жыл бұрын
Thanks for the feedback. I'll try to improve that for the 2nd section of the course 👍
@codingtalkies47493 жыл бұрын
@@ProgramWithGio cool. many thanx for your time and effort
@codingtalkies47493 жыл бұрын
Please do videos to explain singleton, Adapter, decorator, etc
@ProgramWithGio3 жыл бұрын
@@codingtalkies4749 You're welcome 🙌. I'll cover some design patterns towards 3rd section of the course.
@mikulcek3 жыл бұрын
Yeah, talking speed in some of the videos is very fast, making it hard to wrap around some of the concepts, but Gio is putting emphasis on the right things. What you can do is adjust the video playback speed in the youtube video settings menu. There is an option for a custom speed setup to match anything that works for you.
@crystall_sh Жыл бұрын
As a beginner, this is quite tough to grap coz using array map which you hvnt taught before is difficult...
@ProgramWithGio Жыл бұрын
That is just an example for this lesson, we cover array functions in 2 videos so you are almost there. I cant cover everything in one video because then it will just diverge from the main topic. In this specific lesson we are focusing on function types, the underlying function "array_map" is not important because its not the topic, that is covered separately. Keep watching & you'll get to it
@keremardicli4013 Жыл бұрын
Plain perfect...
@ProgramWithGio Жыл бұрын
Thank you
@benderbg3 ай бұрын
The confusing part about working with anonymous functions and callbacks is what part is a parameter and what is an argument. Even official docs keep mixing them up.
@ProgramWithGio3 ай бұрын
I wouldnt stress too much about it. I sometimes make the same mistake. The way I look at it is when defining a function or method those are parameters, when calling the method & you are passing something to it those are arguments. So argument is the value being passed & parameter is the definition
@tanzimibthesam58613 жыл бұрын
It looks so similar to Es6 n hint of typescript
@ProgramWithGio3 жыл бұрын
Yup
@tanzimibthesam58613 жыл бұрын
@@ProgramWithGio Anyways do you have plans on a typescript crash course?
@ProgramWithGio3 жыл бұрын
@@tanzimibthesam5861 not currently. I haven't used TS in my projects
@ZeppGoesPro2 жыл бұрын
Master Gio tell more about this pls: $sum = function (callable $callback, int|float ...$numbers): int|float { return $callback(array_sum($numbers)); }; echo $sum('foo', 1, 2, 3, 4); function foo($element) { return $element * 2; } I am total noob right now and i can't get the order how it works =(
@ZeppGoesPro2 жыл бұрын
Master Gio i figured it out! =))
@ProgramWithGio2 жыл бұрын
That's awesome, glad you figured it out
@ינוןאלבז-כ1ז2 жыл бұрын
It makes me laugh to think that before this course I thought I knew PHP
@ProgramWithGio2 жыл бұрын
heh, thank you. I'm glad that you are finding this course useful, happy to have you 💙💙
@devope Жыл бұрын
isset is a function
@ProgramWithGio Жыл бұрын
It's a language construct www.php.net/manual/en/reserved.keywords.php
@orenders Жыл бұрын
very hard to understand array fun inside arrr_map, why you complicate this so much ...
@ProgramWithGio Жыл бұрын
Not sure what you mean? That's part of the language, I didn't complicate anything, can you be more specific?
@arturlinnik21287 ай бұрын
Wtf, why are those "variable functions" even legal?
@ProgramWithGio6 ай бұрын
its a standard feature & is not exclusive to PHP. Javascript has that as well
@Naton2 жыл бұрын
passing callback function params by string name? why is this a feature? damn i hate php
@ProgramWithGio2 жыл бұрын
You don't have to use it & you don't have to code in PHP 🙂. There are use cases for it.
@Naton2 жыл бұрын
@@ProgramWithGio empty('0') returns false pisses me off. I dont get why my boss wants me to code in php
@wickedtorpedo752 ай бұрын
@@Natonphp are great and empty('0)' returns true
@olezhonnv32152 жыл бұрын
Arrow functions are awfull! Really bad implementation! PHP language devs are real dorks! JS implementation is much better and readable! Thet 'fn' before () is something stupid. And there is one more thing. call_user_func_array - who is that dork, that gave such stupid ending as '_array' ?
@olezhonnv32152 жыл бұрын
PHP is a masterpiece of stupidity!
@olezhonnv32152 жыл бұрын
But youre course is great! I use PHP more then 10 years and I do not know it! I never learned it fundamentally, just wrote the code, used CMS and frameworks. And now I watch your videos and I understand why so many people hate it! It is so stupid! There is so many strange syntax in PHP.
@petruciucur2 жыл бұрын
@@olezhonnv3215 Ha ha ha, so in the end ("I use PHP more then 10 years") you admit you're a dork. PHP is awesome.