What Are Constants & Variable Variables In PHP - Full PHP 8 Tutorial

Sdílet
Vložit
  • čas přidán 24. 07. 2024
  • In this video, you'll learn how to define & use constants in PHP in two ways. You'll also learn what variable variables are & how to use them.
    SOME OF THE WAYS YOU CAN SUPPORT THE CHANNEL
    👍 Smash the like button
    🤝 Subscribe to the channel & turn the notifications on
    💬 Post comments, any feedback is greatly appreciated
    ⭐ Become a Patreon: / programwithgio
    THANK YOU!
    LESSON 1.3
    Course Outline - github.com/ggelashvili/learnp...
    Course Playlist - • Learn PHP The Right Wa...
    RESOURCES
    Predefined Constants - www.php.net/manual/en/reserve...
    Magic Constants - www.php.net/manual/en/languag...
    CHAPTERS
    00:00 - Intro
    00:59 - Using define()
    01:28 - Constant Naming Rules
    02:00 - Print Constants
    02:23 - Check If Constant Has Been Defined
    03:05 - Using Const Keyword
    03:18 - Differences
    04:14 - Dynamic Constant Names
    04:49 - When To Use Constants
    05:03 - Predefined Constants
    05:38 - Magic Constants
    06:14 - Variable Variables

Komentáře • 136

  •  Před 2 lety +71

    This is definitely my go to reference point regarding php. It's so detailed that the documentation doesn't cover everything like Gio does! This should be default search result in CZcams when one enter PHP.

  • @SynMlyn
    @SynMlyn Před 5 měsíci +1

    Gio, your PHP tutorials have been a real game-changer for me. Much appreciated!

  • @wasidhossain3848
    @wasidhossain3848 Před rokem +3

    wow, so many things to learn in just 8 min video. Thanks

  • @steelmantv
    @steelmantv Před rokem +4

    Just got hired on as a developer and a question about constants came up in my technical interview, and this video really helped! Thank you for the great content Gio!

    • @ProgramWithGio
      @ProgramWithGio  Před rokem

      That's so awesome, really glad to hear that, great job 💪

  • @EhsanShahbazii
    @EhsanShahbazii Před měsícem

    Thank you for covering the best info in this playlists❤

  • @cw1847
    @cw1847 Před 3 lety +9

    Great video. I have seen many tutorials that go over constants, but never in this much detail. I had no clear idea between the differences of const and define. Also, have seen __DIR__ used several times, but never seen anyone explain that they are "magic constants." Thanks for sharing and I'm looking forward to the rest of this course!

  • @sammclaren6965
    @sammclaren6965 Před 2 lety

    Great job! Keep up the good work!

  • @med3060
    @med3060 Před 2 lety

    thank you so much for sharing with us your valuable knowledge.

  • @jondo-vh8tx
    @jondo-vh8tx Před 8 měsíci

    been going over the basic now., i think its untill lesson 32...my strategy is to go through every of this steps (3 steps) and go back for each step and re do everything again. and interesting enough is you first then relize how much you miss from beeing so focused and how many cool stuff this guy is teaching you FOR FREE. thats all. man i appreciatre your effort so much. you rock

  • @user-zh2oz9fe4m
    @user-zh2oz9fe4m Před 11 měsíci

    This is a very informative video. Thanks!

  • @alexandershnaidman8188
    @alexandershnaidman8188 Před 9 měsíci

    Great course! Great lessons!

  • @nikolozmacharashvili1212
    @nikolozmacharashvili1212 Před 2 lety +1

    Good Job on creating these videos Gio :)

  • @brightokoro7073
    @brightokoro7073 Před 8 měsíci

    Thanks for sharing this quality stuff on php step by step,i will love to see the docker alternative

  • @BuzzRaCHa
    @BuzzRaCHa Před 2 lety

    course is really detailed... thankyou

  • @Islam.our.religion
    @Islam.our.religion Před rokem

    Thx for the great video and the great series

  • @user-wg6wo4wy7w
    @user-wg6wo4wy7w Před 5 měsíci +1

    define() and const seems to be small details to talk about, but thank you for this video. I understand their difference better.

  • @jasmine.6296
    @jasmine.6296 Před 8 měsíci

    Thank you so much for this

  • @misterdanger4727
    @misterdanger4727 Před 2 měsíci

    Super man
    Even i am an experienced front-end developer but this was soo much helpfull and easy to understand

  • @faramarztayyari3734
    @faramarztayyari3734 Před 2 lety

    Great video , wish you the best

  • @andergraund9327
    @andergraund9327 Před 3 lety +2

    Great videos!

  • @SoniaChavez-je7hq
    @SoniaChavez-je7hq Před 5 měsíci

    Excellent explanation, 😮

  • @ollienicholson
    @ollienicholson Před 27 dny

    awesome!

  • @kristiankoribsky7763
    @kristiankoribsky7763 Před 2 lety +2

    I've already watched a couple of php courses but this course is so far the best. For people like me, with some basic programming knowledge, this is the right course. During other courses I got bored and binged read PHP docs along with video as I wanted to know more details about language constructs and their usage. But with you, I don't have to worry about that as your detailed approach is perfect for remembering stuff efficiently and long-term. For example I've never even heard about variable variables! Thank you.

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +1

      Thank you so much, I try to be as detailed as I can because that's the way I would want to learn myself if I were starting out with PHP. I'm glad that you like it as well.

  • @janpatio
    @janpatio Před rokem

    Great tutorial.

  • @sakthivelarumugam4373

    Good Job really helpful

  • @MohamedAhmed-ww9bs
    @MohamedAhmed-ww9bs Před 3 lety +1

    great explain go on waiting for next lesson Plz. with PHP 8

    • @ProgramWithGio
      @ProgramWithGio  Před 3 lety +1

      Thank you. Next video will be about data types and type casting. Will be using php8 for the rest of the course

    • @MohamedAhmed-ww9bs
      @MohamedAhmed-ww9bs Před 3 lety +1

      ​@@ProgramWithGio Good job Waiting

  • @faisalasif5986
    @faisalasif5986 Před 2 lety +2

    Hey, thank you for this wonderful video, I would request if you add some project at the end it will help us eventually that how to use this learning in an actual project.

  • @ilya_123__
    @ilya_123__ Před 10 měsíci

    thank you

  • @stefanbirsan3320
    @stefanbirsan3320 Před 3 lety

    the best!

  • @user-lj3sx6cc4x
    @user-lj3sx6cc4x Před 5 měsíci

    hello sir i am form india and i have been watching your videos and i like your video very much i have learned php form you and i did not need to do any class

  • @migueldemaria3830
    @migueldemaria3830 Před 3 lety +1

    variable variable, nice!

  • @simxtube
    @simxtube Před 8 měsíci

    I have seen many other tutorials on php but I have never seen this kind of detailed videos on php, good work ❤ , and can you please make tutorials also on laravel like this that covers all the important topics in detail..it would be very helpful for me and definitely for many other people..

    • @ProgramWithGio
      @ProgramWithGio  Před 8 měsíci +1

      Glad you like it, thank you. Yes I'm working on Laravel course. You can subscribe for updates here learnlaraveltherightway.com

  • @sparrowp2251
    @sparrowp2251 Před 2 lety

    good vedio i liked it veryy much it helped me a lot gthank you

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety

      Glad it helped, thank you 💙

    • @sparrowp2251
      @sparrowp2251 Před 2 lety

      @@ProgramWithGio are bhot without teachers its sufficient with a bit of hard work ur vedios are enough.

  • @PrzyjacielKamil
    @PrzyjacielKamil Před 2 lety

    Nice!

  • @mmelimahlobo7656
    @mmelimahlobo7656 Před rokem +4

    If I were to be taught PHP one on one by a teacher as good as you I would be one of the greatest backend developers in this planet,you know PHP like the back of your hand

  • @lasithadulshan7357
    @lasithadulshan7357 Před 2 lety

    wow 🤩

  • @Herobotick2025
    @Herobotick2025 Před 2 lety

    You are awesome

  • @csilipo
    @csilipo Před rokem

    Hi, I know other people have commented on this series, but it “GREAT!”. Well done. I am trying to learn PHP for projects like; NextCloud and OwnCloud, of which I having trouble finding basic tutorials on these topics online. NextCloud is using Vue3 ( MVC) with their frontend, whilst OwnCloud I think is using PHP. There is a NEED online for someone to teach NextCloud/OwnCloud, if you are interested? Thanks Carlo

  • @AnoopD2013
    @AnoopD2013 Před rokem

    Really great series ....... one simple suggestion , it would look, feel and more legible if you could use a theme with better contrast for your editor .

    • @ProgramWithGio
      @ProgramWithGio  Před rokem +2

      Thanks for the suggestion, I'm very used to that theme so it won't be easy to switch.

    • @AnoopD2013
      @AnoopD2013 Před rokem +1

      @@ProgramWithGio Perfectly OK , thank you for such a fast reply and thanks for this wonderful series !!

  • @codingSparrow143
    @codingSparrow143 Před měsícem

    @ProgramWithGio Hello !!! Nice explanation, sir👍🏻👍🏻. I have a question: Are predefined and magic constants the same? Or magic constants are just a type of predefined constants?
    Thanks.😃😃

  • @jorgetimes2
    @jorgetimes2 Před rokem

    Hi there! Thanks for these videos, they are so condensed and full of information that is so hard to find elsewhere. I have one naive question: in the first lecture you make the distinction between interpreted and compiled languages, where PHP is classified to belong among the interpreted ones. So how is it that you can say that constants defined by means of the `const` keyword are defined at compile time? Could you be more precise what does it mean and how it clicks into the fact that the `const` keyword cannot be used inside the control structures? I don't quite get it. Thank you

    • @ProgramWithGio
      @ProgramWithGio  Před rokem +2

      Hey, good question. So PHP is interpreted but it gets compiled down to bytecode. The compilation part is something you don't see or do, happens by the engine behind the scenes so to speak. Other languages like C++ you need to compile it yourself to be able to run, but once compiled, you can run those apps many times, for PHP though compilation happens when you first run the script. This process is usually optimized & cached if using something like opcache so it doesn't keep on recompiling.
      This is a good article that goes in more detail on how PHP interpreter works: www.droptica.com/blog/how-php-interpreter-works/

    • @jorgetimes2
      @jorgetimes2 Před rokem +1

      @@ProgramWithGio Ok, thank you. And how does this imply you can't define your constants inside control structures at compile time?

    • @ProgramWithGio
      @ProgramWithGio  Před rokem

      @@jorgetimes2 I updated my answer, I also put a link to the article that goes in more detail about how interpreter works. Hope that helps. From what I've seen, the limitations of const is mostly artificial and not a language limitation itself. Though because it needs to be defined in top level scope & is defined at "compile" time it can't be defined in control structures

    • @jorgetimes2
      @jorgetimes2 Před rokem +2

      @@ProgramWithGio Yes, this helps a lot. Thank you

  • @rosarioveneruso9928
    @rosarioveneruso9928 Před 2 lety

    Hi, you say that difference between const and define is that const are defined at compile time and define const at runtime so we can't define constants with const keyword in control structures... ok but why? What does it mean exactly?
    I tried to answer by myself and I thought that const in a control structure being defined at compile time before the code is run we are not entering in the control structure so when we run the script is not defined yet and we can't access that const (the script is being run but that const is not defined runtime), am I right?

  • @yanuzay0520
    @yanuzay0520 Před 2 lety

    Thanks

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety

      You're welcome

    • @yanuzay0520
      @yanuzay0520 Před 2 lety

      @@ProgramWithGio Bro which one is better to learn? Symphony or Laravel? I am new i this field

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety

      Laravel is easier to learn, so I would maybe start with Laravel & then advance into Symfony. They are both great frameworks.

    • @yanuzay0520
      @yanuzay0520 Před 2 lety

      @@ProgramWithGio thanks bro

  • @SarahPoulin
    @SarahPoulin Před rokem

    I have php 8.2, using Ubuntu 22.04, and I noticed that define('STATUS_PAID', 1); (the second define at about 2:20) did not produce an error, and echo defined('STATUS_VOID'); (at about 3:00) did not show a blank page, but produced an error instead. Also, at 4:48, adding the 4 for define('STATUS_' . $paid, $paid, 4); does not print 4. It continues to print PAID. Does this have to do with you using PHP 7.4 in the video?

    • @ProgramWithGio
      @ProgramWithGio  Před rokem

      At 2:20 you should get warning even in 8.2, make sure you have the same constant defined above before defining it again with different value.

    • @ProgramWithGio
      @ProgramWithGio  Před rokem

      At 3:00 it should return false and when echoed it prints empty string. What error are you getting, can you share screenshot of your code & error? Maybe a typo.

    • @ProgramWithGio
      @ProgramWithGio  Před rokem

      At 4:48 seems like you are setting $paid as the value, you should just set it to 4, do the exact same as in the video, in your example you are doing define('...' . $paid, $paid, 4)

  • @asok1111
    @asok1111 Před 2 lety +2

    Now I am learning PHP the right way.
    One question arises here is that php is a scripting language which is not compiled to run the code then how compile time 'const' is used to define constant. It should be only through define function only.

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +1

      PHP is interpreted scripting language but there is still compilation going on behind the scenes

    • @asok1111
      @asok1111 Před 2 lety +2

      @@ProgramWithGio Great info. But like to know how it happens in any video. This will help understanding php working deeply. Thanks for the great video.

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +1

      @@asok1111 You're welcome. Thank you for great video suggestion

  • @user-zn4bg9bp8a
    @user-zn4bg9bp8a Před 2 lety +1

    From a non-native English learner perspective, a little break (maybe a couple milliseconds longer) between sentences would help to follow the course more effectively.

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +5

      I agree. I improved on that in later videos. I'll try to improve more. Thanks for feedback 👍

  • @foziljonofficial
    @foziljonofficial Před 2 lety +1

    Hello ! How to print "0" in php with 3 line codes ?

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +1

      You can do that with one line, echo '0';.

    • @foziljonofficial
      @foziljonofficial Před 2 lety +1

      @@ProgramWithGio thanks but i mean 3 characters...

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +1

      ​@@foziljonofficial Not sure what you mean. Is this a homework question? If it is then paste in the full question because printing 0 in 3 characters doesn't really make sense.

    • @foziljonofficial
      @foziljonofficial Před 2 lety +1

      No this isn't homework question...It's Competetive programming task . Someone used 3 character code for completing this task...I understand that he did it when there were no tests for the problem. Thank you bro , much appreciated !

  • @tanzimibthesam5861
    @tanzimibthesam5861 Před 3 lety

    Is it with PHP 8 installed?

    • @ProgramWithGio
      @ProgramWithGio  Před 3 lety +1

      No, at the time of recording php8 wasn't released. New videos will be using php8

  • @BenCorvo-iy1nc
    @BenCorvo-iy1nc Před 2 měsíci

    echo "Thank you Gio";

  • @rimantasdanilevicius6754
    @rimantasdanilevicius6754 Před 3 lety +1

    I never saw that someone uses variable variable in practice.

    • @ProgramWithGio
      @ProgramWithGio  Před 3 lety +1

      Yea, you won't see them used much. I personally only use them if I really have to. It's useful for dynamic variable names but makes things harder to read

  • @hasannuur8116
    @hasannuur8116 Před rokem

    wow which extension you use

    • @ProgramWithGio
      @ProgramWithGio  Před rokem +1

      Do you mean IDE? I use phpstorm

    • @hasannuur8116
      @hasannuur8116 Před rokem

      @@ProgramWithGio no the plugin

    • @ProgramWithGio
      @ProgramWithGio  Před rokem

      Plugin for what?

    • @hasannuur8116
      @hasannuur8116 Před rokem

      @@ProgramWithGio phpstorm i already watch your lesson half,

    • @hasannuur8116
      @hasannuur8116 Před rokem

      @@ProgramWithGio I don't know how to explain it to you but what else is used inside phpstorm

  • @gedasgedas1720
    @gedasgedas1720 Před 3 lety

    Your --- Magic Constants --- link is wrong it shows --- Predefined Constants ---. Guess I'm the only one who actually clicks the links :D

  • @utkarshkaushik6480
    @utkarshkaushik6480 Před 11 měsíci

    I don't actually understand the defining constants with variables part like how does it actually work. 4:16 part of the video is not so much clear to me. if you could actually explain like how does this work then it would be really helpful.

    • @ProgramWithGio
      @ProgramWithGio  Před 11 měsíci

      I explain the difference at 3:18. Define also allows you to use variables in its name so you are able to create dynamic constant names.

  • @DJxMaster2
    @DJxMaster2 Před 6 měsíci

    Now I know why people hate php..

  • @nowsage
    @nowsage Před 2 lety +1

    this tutorial isn't for beginners at all. A beginner will be lost following this

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +1

      Sorry to hear that. There are many beginners who found this tutorial very helpful & easy to follow. I think it's beginner friendly but if you are having trouble understanding something feel free to post questions or DM me and I'll be happy to help clear things up 👍

  • @kiwi-Centaur
    @kiwi-Centaur Před 2 lety

    super confusing, I've heard 'dont worry about this, we'll do it later" about a dozen times in 3-4 videos, one thing can be done in several ways, and you are going at speed 1.2x

    • @ProgramWithGio
      @ProgramWithGio  Před 2 lety +3

      Sorry to hear that. This is a long series so certain things are covered in later videos when they apply, like class constants since the first section is about procedural PHP, the second section is about OOP so I can't cover OOP together with procedural which is why I say not to worry about it now, we'll get to it soon. Also, things like functions haven't been covered yet so when I reference the word function I simply state to not worry about it because functions are covered in a separate video. It's not like I don't cover it, I just cover it later in the course.
      About the speed, you are able to adjust the speed on CZcams so you can watch it at 0.5x speed 👍.
      If you have any specific questions or if something didn't make sense feel free to msg me on Twitter, I'll be happy to answer & clear up any confusion.

  • @muhammadsalah3981
    @muhammadsalah3981 Před 2 lety

    Great videos!