This is the problem with all you php kids. Why on gods green earth would you want to promote building an mvc framework from scratch. I can possibly understand using an existing, well known php ecosystem to build a website. However, no one needs to build a MVC framework from scratch. That problem has been solved so many times. Spend less time reinventing wheels and more time improving/contributing to those that already exist.
@@toddzmijewski6002 I am against on this thinking because time to time there are new frameworks rise somewhere, can they be considered on what you said "existing"? and you confuse of the term "reinventing wheels", does it mean, newborn developer MUST not start from somewhere and remained on current state? The best way to understand is to create your own. Well if you are commission on a 3 months project them chose existing ones but for the sake of learning, don't limit to the word "Don't re-invent the wheel" even Human give birth to new Babies, which means to improved learn from others and start again.
Hello bros i am new to php. I cant find any good videos to tell me the roadmao to learn php. Can you please tell me how should i go on to learn php what should i learn first ?? I already am doing projects in Html Css Java Script
named arguments were added not because you can forget the order of the arguments... the reason is to be able to provide only needed arguments and not specify arguments that have default value for example: public function foo(string $bar1 = 'bar1', string $bar2 = 'bar2', string $bar3 = 'bar3', string $bar4 = 'bar4') in 7.4 if you wanted to change `$bar4` you needed to provide all the previous arguments, but in php 8.0 you can do just that foo(bar4: 'bar5')
Yep. Still remember being told to change to Ruby back in 2007. 13 years later, still plenty of 6 figure income jobs to be found requiring PHP. No language is perfect. Everyone pick what makes sense. A good programmer will thrive no matter their technology stack.
Nice explanation. I like to see the old code being refactored to the new code. But I didn't understand the Attributes portion. All I could understand is that it is something that frameworks will use and not my own code. I would like a video explaining it in more details with production-like code and what is the advantage of using Attributes. Thank you very much.
Amazing Video . To the point explanation. While the reddit world is debating if php is alive or not, php 8 is turning up to be as good as kotlin or Java. And here in my stupid job, we still maintain websites in php 5.4. I need to subscribe to your channel and see what you upload next.
Congrats on this cool video. But please compare the intro sound effect with the volume of your voice. Maybe it's just my headphones, but sounds to me like you could raise your mic volume for your next vids
Greetings from Pakistan your are awesome teacher i am new to php my request to u is please use HTML in projects so people like me can easily understand. shopping cart tutorial is super but for me with out HTML it took much time to understand what is going on. so Please do me favour
Nice video again! I never used ?? and = like you in the getReviews function (??=) at 39:42 ... I learned something new again, but seeing this I can understand why so much devs just hate PHP :) It wasn't obvious even for me at first.
That is actually part of PHP7.4. Yes, it might be confusing at first look, but I think this can't be reason why people hate PHP. Python has a lot of such "confusing" code which does things in 1 line 😀
Glad I'm not the only one. I get what they were going with but it seems overly complicated and dirty for very little gain.. although it's still new so I'm sure at some point I will see something really cool that uses it...
I worked on php for the first 10 years of my career. That is an accurate comparison. I don't know if its fair to contribute it all to the language though. The language prospered in a time of monolith CMS platforms. No other language has really created the same number of large, cms open source platforms. So I think much of dislike is linked through php via way of working on those large cms's which the modern industry has moved away from.
00:40 - 02:56 This is incorrect, you explained what OPCache is, not what JIT is. JIT attempts to generate Native machine code for a peice of code which would benifit from running nativly. Such as math operations or loops etc etc. OPCache and OPCode is not native machine code and still needs to be ran by the Zend engine, JIT'd code completely bypasses the Zend Engine and runs native CPU instructions. This is why the devs say you wont notice any performance increase from JIT if you dont type hint, because for the native cpu to be generated it needs to be strictly typed otherwise you can crash PHP or worse.
Your composer.json already has psr-4 format to read the files in src, use namespace to read file, no need to use include or require. Nice video by the way.
Not at interpreter at moment but I think the # only marks a comment when it's followed by a space. Probably still does in PHP 8, for backward compatibility.
Hello Sir, you know, following your instructions in another of your videos, I stall PHP 7.4, now how can I updated to PHP 8 (I mean in Ubuntu 20.04)???
So with the Attributes is it essentially just a fancy comment with syntax, meaning that it wont actually do anything unless some real code fetches then via reflection API and performers some task based on that information. Yes?
Excellent video, many thanks. FWIW I'd love to see a tutorial on using Vue3 with PHP8 (raw, no framework) for a simple real world PDO CRUD (blog?) example.
I’m new to php . But I learned typescript and python and I’m new to backend dev in general. I could pickup php faster. How do I know when I’m ready to learn Laravel. I’m interested in making rest apis what framework’s do I use to do that
When you understand PHP basics, Oop, and general networking/programming concepts related to API developmen/web development then you should be good to at least get started with laravel.
@@navjotsingh2251 I do understand PHP basics but I tried learning OOP Design Patterns but I don't get them. I looked at all of them but I can't apply them at all. But I know that composition is simply better than inheritance and I understand REST API concepts.
Hey Zura, how are you doing? I hope you are doing well. Can you please do a video about php8 for desktop application under windows, I've done some research but most of the open source projects are outdated. If you have some knowledge of how to do something like this using php8, nginx and mysql. Thank you.
Thank you for so fast updates for PHP 8. I just wondering - you using PHP storm and made changes in composer file updated to php 8, what about VS Code? If I understood correctly I just need to have composer file, update it to php 8 and all new features for php 8 on VS Code will work also?
Thank you. Putting "php": "^8.0" in composer.json does not mean that PHPStorm or VSCode support PHP8.0 syntax. I have installed latest PHPStorm (which I mention in the video as well). However I am not sure if VSCode extensions support PHP8.0 syntax yet. I have not tested.
@@TheCodeholic Thank you for answer. I will continue searching. P.s I find your tutorials and lessons really interesting and that yo u find time to be social active among IT community. Thank you again for sharing your knowledge.
Named arguments seem kind of silly on its own. Would be creat if the could be used via unpacking an associative array into a method call with the keys used as argument names.
not entirely true on the match expression, 200 is treated like 300, same as in the switch, while you said nothing, but NULL’s not nothing, that would be a void.
@@TheCodeholic not only, union types, nullsafe operator (aka optional chaining) etc Attributes looks like ts decorators, WeakMap is long time in ES, mixed type in ts called any or unknown depending on use case (and that's actually good that they adopt good features)
they make all complicated .i can not understand from 4 then 5 then 7 and now 8.....you learn a version and you master it and they come with new version ...it is silly
what i don't like about php is a lot of ambiguities, no strict rules and in this version they bring few more. why? it doesn't make language better, it makes language more prone to bugs.
php is more than wordpress. Laravel is the most popular backend framework today. Symfony is another excellent php framework. Php also has popular e-commerce platforms.
@@gtdmg489 This supports bad coding habits to tackle overload missing support. Just an real world example to avoid lengthy response : you got a function taking 3 args, but first and second are not required. So the function may be called like f(first, second, third) or f(second, third) or f(third) or f(first, third) or f(second). And inside the function there's some weird spagetti testing for each case using actual number of arg passed and type of each one to determine proper cas, then overwrittes args, then proceeds. This is a nightmare to debug, documentation is hard to make and to read. Not speaking of when the return type is mixed and you have to check 10 cases using is_* functions. Hope response is not confused
Don't understand. Why this features make it 8.0, its more like 7.5? Most of those can help you a lot. Like if you write crappy code, now you can make it even crappier. We have to seriously rethink using php further. Its slowly and surely dying.
Check my video series about building an MVC framework in PHP from scratch: bit.ly/3ogIAia
This is the problem with all you php kids. Why on gods green earth would you want to promote building an mvc framework from scratch. I can possibly understand using an existing, well known php ecosystem to build a website. However, no one needs to build a MVC framework from scratch. That problem has been solved so many times. Spend less time reinventing wheels and more time improving/contributing to those that already exist.
Just watch the first 10 minutes of the video of MVC framework and you will get answer why I build that...
@@TheCodeholic it's totally perfect video.Really Nice work!! Don't get bother for bad netizen words. Thanks for sharing
Are you using docker for running both version of PHP? If Yes, can you share your docker setup?
@@toddzmijewski6002 I am against on this thinking because time to time there are new frameworks rise somewhere, can they be considered on what you said "existing"?
and you confuse of the term "reinventing wheels", does it mean, newborn developer MUST not start from somewhere and remained on current state?
The best way to understand is to create your own. Well if you are commission on a 3 months project them chose existing ones but for the sake of learning, don't limit to the word
"Don't re-invent the wheel" even Human give birth to new Babies, which means to improved learn from others and start again.
I just loved the nullsafe operator .. that's will help a lot
laravel had this already as a helper method called optional() but yeah gotta love when it comes with the language by default.
Indeed. Sooper useful
Hello bros i am new to php. I cant find any good videos to tell me the roadmao to learn php.
Can you please tell me how should i go on to learn php what should i learn first ??
I already am doing projects in Html Css Java Script
@@hassanmehmood8711 have you tried ua-cam.com/video/OK_JCtrrv-c/v-deo.html
@@AurovrataVenet i usually do reading but i will check this tutorial and then start doing basic projects
named arguments were added not because you can forget the order of the arguments...
the reason is to be able to provide only needed arguments and not specify arguments that have default value
for example:
public function foo(string $bar1 = 'bar1', string $bar2 = 'bar2', string $bar3 = 'bar3', string $bar4 = 'bar4')
in 7.4 if you wanted to change `$bar4` you needed to provide all the previous arguments, but in php 8.0 you can do just that
foo(bar4: 'bar5')
Yes, that's correct.
php has improved! its getting better
Thanks I needed this after being away from PHP for a few years. Awesome job!!
Thank you for demonstrating those cool features of php 8.0! :)
Glad it was helpful!
World's best server side script!!! Love it :)
PHP will live forever
Maybe as Python module one day ;) - along with a FORTRAN and Cobol module
Unfortunately :) and don't get me wrong. Spent some nice years with it in the beginning years of my career.
@@AndreasDelleske Python is the king on UA-cam but PHP is king in the Real World.
@@AndreasDelleske 80% of the web is built on PHP...so, its gonna live forever !!
Yep. Still remember being told to change to Ruby back in 2007. 13 years later, still plenty of 6 figure income jobs to be found requiring PHP.
No language is perfect. Everyone pick what makes sense. A good programmer will thrive no matter their technology stack.
Excellent recap of PHP8 . Well and simply explained.
Thanks
Thank you so much for demistification JIT compiler. You simply show 2 images and I finally feel that I understand the benefits of JIT.
The future looks bright
ლომი ხარ ლომი.
ასე გააგრძელე, წარმატებები
Looks like best features from python, typescript, ES6... 👍👌
Awesome video! The features are made very clear by your examples!
Thanks a lot buddy
Thanks for the video. Hope cPanels will have it soon.
that's great! I appreciate you.
Really good tutorial, nice one!
Thanks
beautiful features!
Im in love with php
Nice explanation. I like to see the old code being refactored to the new code. But I didn't understand the Attributes portion. All I could understand is that it is something that frameworks will use and not my own code. I would like a video explaining it in more details with production-like code and what is the advantage of using Attributes. Thank you very much.
Thanks for your comments.
It's good idea to see attributes in action.
I will think about the project idea.
@@TheCodeholic That will be nice to see
Love the new match statement
Me too... It's really handy.
Amazing Video . To the point explanation. While the reddit world is debating if php is alive or not, php 8 is turning up to be as good as kotlin or Java. And here in my stupid job, we still maintain websites in php 5.4.
I need to subscribe to your channel and see what you upload next.
Thanks buddy
PHP is as live as never.
Thank you for the video, was nice to see Georgian scripts on the screen :)
Thank you very much for this video! Was very helpful!
Congrats on this cool video. But please compare the intro sound effect with the volume of your voice. Maybe it's just my headphones, but sounds to me like you could raise your mic volume for your next vids
Greetings from Pakistan
your are awesome teacher
i am new to php my request to u is please use HTML in projects so people like me can easily understand. shopping cart tutorial is super but for me with out HTML it took much time to understand what is going on.
so Please do me favour
Your so quick. appreciate it!
Good job - Good Video - many Thanks
Nice video again!
I never used ?? and = like you in the getReviews function (??=) at 39:42 ...
I learned something new again, but seeing this I can understand why so much devs just hate PHP :)
It wasn't obvious even for me at first.
That is actually part of PHP7.4.
Yes, it might be confusing at first look, but I think this can't be reason why people hate PHP.
Python has a lot of such "confusing" code which does things in 1 line 😀
@@TheCodeholic Hmm 'Null coalescing assignment operator' May I just skipped the php 7.4 features too? Damn :D
Yeah that's it 😀
Am still a bit confused on Attributes and their purpose
Glad I'm not the only one. I get what they were going with but it seems overly complicated and dirty for very little gain.. although it's still new so I'm sure at some point I will see something really cool that uses it...
Awesome video, thanks!
Are there any tools out there to check the compatibility of PHP 8 in legacy code while migrating?
awesome overview
Thank you for this video :)
PHP is like the first love, you hate it when you get over it
I worked on php for the first 10 years of my career. That is an accurate comparison. I don't know if its fair to contribute it all to the language though. The language prospered in a time of monolith CMS platforms. No other language has really created the same number of large, cms open source platforms. So I think much of dislike is linked through php via way of working on those large cms's which the modern industry has moved away from.
nice 🔥🔥👏🏼
00:40 - 02:56
This is incorrect, you explained what OPCache is, not what JIT is.
JIT attempts to generate Native machine code for a peice of code which would benifit from running nativly. Such as math operations or loops etc etc.
OPCache and OPCode is not native machine code and still needs to be ran by the Zend engine, JIT'd code completely bypasses the Zend Engine and runs native CPU instructions.
This is why the devs say you wont notice any performance increase from JIT if you dont type hint, because for the native cpu to be generated it needs to be strictly typed otherwise you can crash PHP or worse.
Thanks for your comment.
I made a research before I recorded, I will do better research to find more details about that. I might be wrong...
Does this meant if i want to use JIT compilation, i need to have all my class methods use type hint?
Thanks for clearing that up, I thought I was crazy for a min when he was explaining JIT completely different then I’ve dealt with it in the past
HI , what phpStorm interface theme do you use? How can i get same looking phpStorm?
thanks for the great vid i listened hard at 15.10
Your composer.json already has psr-4 format to read the files in src, use namespace to read file, no need to use include or require.
Nice video by the way.
How you get such a theme and a layout and phpstorm, please?
I am getting depreciation error, does anyone know?
Not at interpreter at moment but I think the # only marks a comment when it's followed by a space. Probably still does in PHP 8, for backward compatibility.
Thank you for the video
Hello Sir, you know, following your instructions in another of your videos, I stall PHP 7.4, now how can I updated to PHP 8 (I mean in Ubuntu 20.04)???
Hey zura which font are use for this tutorial?can you tell me a name of font?
I am using two plugins.
1. Material theme
2. Atom material icons
This changes, colors and fonts and everything
Thank you for your video :)
My pleasure!
@@TheCodeholic can you make video about installing php 8.0 with jit on both OS I mean windows and linux OS
So with the Attributes is it essentially just a fancy comment with syntax, meaning that it wont actually do anything unless some real code fetches then via reflection API and performers some task based on that information. Yes?
PHP真棒
All Hail PHP ... LONG LIVE PHP 😂
Excellent video, many thanks. FWIW I'd love to see a tutorial on using Vue3 with PHP8 (raw, no framework) for a simple real world PDO CRUD (blog?) example.
Thank you.
what purpose has had the op cache before 8.0 then??
great vid!...what is your php storm skin?
It is material theme With Atom material icons
@@TheCodeholic ah..is that a paid version?
others: PHP IS DEAD
me: Hello 8.0
just curious how’d you get to this conclusion? It actually runs at least 80% of the total websites.
awesome video, thanks for making it. Do you have videos for older versions of PHP as well?
I have a video about php7.4 also...
Nice video
null safe operator is absolute bliss
I’m new to php . But I learned typescript and python and I’m new to backend dev in general. I could pickup php faster. How do I know when I’m ready to learn Laravel. I’m interested in making rest apis what framework’s do I use to do that
When you understand PHP basics, Oop, and general networking/programming concepts related to API developmen/web development then you should be good to at least get started with laravel.
@@navjotsingh2251 I do understand PHP basics but I tried learning OOP Design Patterns but I don't get them. I looked at all of them but I can't apply them at all. But I know that composition is simply better than inheritance and I understand REST API concepts.
Could you make video about php regular expression?
On UA-cam I didn't find good explanation.
Thank you so much for your tutorials 👍
Free checker is an email logger your email list can be retrieved by the tools builder
thanks for sharing
My pleasure
Hey Zura, how are you doing? I hope you are doing well. Can you please do a video about php8 for desktop application under windows, I've done some research but most of the open source projects are outdated. If you have some knowledge of how to do something like this using php8, nginx and mysql. Thank you.
Thank you for so fast updates for PHP 8. I just wondering - you using PHP storm and made changes in composer file updated to php 8, what about VS Code? If I understood correctly I just need to have composer file, update it to php 8 and all new features for php 8 on VS Code will work also?
Thank you.
Putting "php": "^8.0" in composer.json does not mean that PHPStorm or VSCode support PHP8.0 syntax.
I have installed latest PHPStorm (which I mention in the video as well). However I am not sure if VSCode extensions support PHP8.0 syntax yet. I have not tested.
@@TheCodeholic Thank you for answer. I will continue searching. P.s I find your tutorials and lessons really interesting and that yo u find time to be social active among IT community. Thank you again for sharing your knowledge.
what about gRPC support
Great video. Did PHP 7.x NOT have a JIT compiler???
awesome
What's name theme using phpstorm?
Material Theme and Atom material icons
კარგია 👍🐘
Thanks
Welcome
👨💻 very useful
i love php. nb !
When hosting gonna support this?
I have no idea. We should ask hosting providers.
If you take VPS hosting you can install 8.0 version manually.
Named arguments seem kind of silly on its own. Would be creat if the could be used via unpacking an associative array into a method call with the keys used as argument names.
for your first item, you described how opcache has worked for ages, not how JIT works...
I liked it when PHP was simple
Good thing is that PHP stays backward compatible in most cases.
So if you prefer you can write old code.
It's modern trend - all mainstream languages must have all other language features. Is it good or bad time will tell.
@@TheCodeholic PHP 7 and up broke all my old scripts which I still havent been able to fix. Not backward compatible.
Long live PHP
Most things extended from typescript
I think that's good things
not entirely true on the match expression, 200 is treated like 300, same as in the switch, while you said nothing, but NULL’s not nothing, that would be a void.
8.0新特性是不错,但是如果是做新网站,后端肯定Go或Rust,php其实不安全,开发也不见得比Go省事。
Very Close to type script features.
Do you mean "constructor property promotion"?
@@TheCodeholic not only, union types, nullsafe operator (aka optional chaining) etc
Attributes looks like ts decorators, WeakMap is long time in ES, mixed type in ts called any or unknown depending on use case
(and that's actually good that they adopt good features)
@@TheCodeholic i mean union type, mixed type, named parameter and also that.
they make all complicated .i can not understand from 4 then 5 then 7 and now 8.....you learn a version and you master it and they come with new version ...it is silly
what i don't like about php is a lot of ambiguities, no strict rules and in this version they bring few more. why? it doesn't make language better, it makes language more prone to bugs.
php should bring asynch programming
Phpreact. Google it.
Wow so php still is a thing?? :O
🤣🤣🤣🤣🤣🤣 Hahahaha
Ma sowe ;)
Interesting!
But I have been using these features within v7.4. I never knew it would be extended more in v8.
Which features were you using in php7.4? All these??
You explained how opcache works, not the JIT LOL.
might as well remove the need for the dollar sign in front of variables in the future. It's becoming redundant!
PHP: I'm gonna copy all the good feature from Nodejs
Please do
Not only node. PHP tries to adopt good features of other languages. Match is borrowed from Rust. I prefer PHP over Node.js
Want it to beat py and java.
Keep dreaming
@@TightyWhities94 y r u here then?
@@amid6887 to see what's new in php.
Awosem
PHP experience live
Who says PHP is dead? 🤔
Node.js developers.
They don't know what an array is 🤣🤣
Php lives because of wordpress. Wordpress is its lifesupport
Codeigniter.....
php is more than wordpress. Laravel is the most popular backend framework today. Symfony is another excellent php framework. Php also has popular e-commerce platforms.
@@ojsojs6004 Codeigniter....
PDO NOT SUPPORT!
so php just became typescript
How?
Union types is a bad design. Method overloading should be supported instead.
Intersection types is good though
Why is it a bad design?
@@gtdmg489 This supports bad coding habits to tackle overload missing support. Just an real world example to avoid lengthy response : you got a function taking 3 args, but first and second are not required. So the function may be called like f(first, second, third) or f(second, third) or f(third) or f(first, third) or f(second). And inside the function there's some weird spagetti testing for each case using actual number of arg passed and type of each one to determine proper cas, then overwrittes args, then proceeds.
This is a nightmare to debug, documentation is hard to make and to read.
Not speaking of when the return type is mixed and you have to check 10 cases using is_* functions.
Hope response is not confused
Don't understand. Why this features make it 8.0, its more like 7.5? Most of those can help you a lot. Like if you write crappy code, now you can make it even crappier. We have to seriously rethink using php further. Its slowly and surely dying.
Long live php