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

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ก.ค. 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

ความคิดเห็น • 136

  •  2 ปีที่แล้ว +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 TH-cam when one enter PHP.

  • @SynMlyn
    @SynMlyn 5 หลายเดือนก่อน +1

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

  • @wasidhossain3848
    @wasidhossain3848 ปีที่แล้ว +3

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

  • @steelmantv
    @steelmantv ปีที่แล้ว +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  ปีที่แล้ว

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

  • @EhsanShahbazii
    @EhsanShahbazii หลายเดือนก่อน

    Thank you for covering the best info in this playlists❤

  • @cw1847
    @cw1847 3 ปีที่แล้ว +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 2 ปีที่แล้ว

    Great job! Keep up the good work!

  • @med3060
    @med3060 2 ปีที่แล้ว

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

  • @jondo-vh8tx
    @jondo-vh8tx 8 หลายเดือนก่อน

    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

    • @ProgramWithGio
      @ProgramWithGio  8 หลายเดือนก่อน

      Happy to hear you like it, thank you 🙌

  • @alexandershnaidman8188
    @alexandershnaidman8188 9 หลายเดือนก่อน

    Great course! Great lessons!

  • @user-zh2oz9fe4m
    @user-zh2oz9fe4m 11 หลายเดือนก่อน

    This is a very informative video. Thanks!

  • @nikolozmacharashvili1212
    @nikolozmacharashvili1212 2 ปีที่แล้ว +1

    Good Job on creating these videos Gio :)

  • @brightokoro7073
    @brightokoro7073 8 หลายเดือนก่อน

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

    • @ProgramWithGio
      @ProgramWithGio  8 หลายเดือนก่อน

      Awesome, thanks 💙

  • @BuzzRaCHa
    @BuzzRaCHa 2 ปีที่แล้ว

    course is really detailed... thankyou

  • @Islam.our.religion
    @Islam.our.religion ปีที่แล้ว

    Thx for the great video and the great series

  • @user-wg6wo4wy7w
    @user-wg6wo4wy7w 5 หลายเดือนก่อน +1

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

    • @ProgramWithGio
      @ProgramWithGio  5 หลายเดือนก่อน +1

      That's great, happy to hear

  • @jasmine.6296
    @jasmine.6296 8 หลายเดือนก่อน

    Thank you so much for this

  • @misterdanger4727
    @misterdanger4727 2 หลายเดือนก่อน

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

  • @faramarztayyari3734
    @faramarztayyari3734 2 ปีที่แล้ว

    Great video , wish you the best

  • @andergraund9327
    @andergraund9327 3 ปีที่แล้ว +2

    Great videos!

  • @SoniaChavez-je7hq
    @SoniaChavez-je7hq 5 หลายเดือนก่อน

    Excellent explanation, 😮

  • @ollienicholson
    @ollienicholson 28 วันที่ผ่านมา

    awesome!

  • @kristiankoribsky7763
    @kristiankoribsky7763 2 ปีที่แล้ว +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  2 ปีที่แล้ว +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 ปีที่แล้ว

    Great tutorial.

  • @sakthivelarumugam4373
    @sakthivelarumugam4373 ปีที่แล้ว

    Good Job really helpful

  • @MohamedAhmed-ww9bs
    @MohamedAhmed-ww9bs 3 ปีที่แล้ว +1

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

    • @ProgramWithGio
      @ProgramWithGio  3 ปีที่แล้ว +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 3 ปีที่แล้ว +1

      ​@@ProgramWithGio Good job Waiting

  • @faisalasif5986
    @faisalasif5986 2 ปีที่แล้ว +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.

    • @ProgramWithGio
      @ProgramWithGio  2 ปีที่แล้ว

      We will work on a project at the end

  • @ilya_123__
    @ilya_123__ 10 หลายเดือนก่อน

    thank you

  • @stefanbirsan3320
    @stefanbirsan3320 3 ปีที่แล้ว

    the best!

  • @user-lj3sx6cc4x
    @user-lj3sx6cc4x 5 หลายเดือนก่อน

    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

    • @ProgramWithGio
      @ProgramWithGio  5 หลายเดือนก่อน +2

      That's great, keep it up

  • @simxtube
    @simxtube 8 หลายเดือนก่อน

    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  8 หลายเดือนก่อน +1

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

  • @migueldemaria3830
    @migueldemaria3830 3 ปีที่แล้ว +1

    variable variable, nice!

  • @sparrowp2251
    @sparrowp2251 2 ปีที่แล้ว

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

    • @ProgramWithGio
      @ProgramWithGio  2 ปีที่แล้ว

      Glad it helped, thank you 💙

    • @sparrowp2251
      @sparrowp2251 2 ปีที่แล้ว

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

  • @PrzyjacielKamil
    @PrzyjacielKamil 2 ปีที่แล้ว

    Nice!

  • @mmelimahlobo7656
    @mmelimahlobo7656 ปีที่แล้ว +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 2 ปีที่แล้ว

    wow 🤩

  • @Herobotick2025
    @Herobotick2025 2 ปีที่แล้ว

    You are awesome

  • @csilipo
    @csilipo ปีที่แล้ว

    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

    • @ProgramWithGio
      @ProgramWithGio  ปีที่แล้ว

      Thank you & thanks for the suggestion 🙌💙

  • @AnoopD2013
    @AnoopD2013 ปีที่แล้ว

    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  ปีที่แล้ว +2

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

    • @AnoopD2013
      @AnoopD2013 ปีที่แล้ว +1

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

  • @codingSparrow143
    @codingSparrow143 หลายเดือนก่อน

    @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 ปีที่แล้ว

    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  ปีที่แล้ว +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 ปีที่แล้ว +1

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

    • @ProgramWithGio
      @ProgramWithGio  ปีที่แล้ว

      @@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 ปีที่แล้ว +2

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

  • @rosarioveneruso9928
    @rosarioveneruso9928 2 ปีที่แล้ว

    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?

  • @SarahPoulin
    @SarahPoulin ปีที่แล้ว

    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  ปีที่แล้ว

      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  ปีที่แล้ว

      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  ปีที่แล้ว

      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)

  • @yanuzay0520
    @yanuzay0520 2 ปีที่แล้ว

    Thanks

    • @ProgramWithGio
      @ProgramWithGio  2 ปีที่แล้ว

      You're welcome

    • @yanuzay0520
      @yanuzay0520 2 ปีที่แล้ว

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

    • @ProgramWithGio
      @ProgramWithGio  2 ปีที่แล้ว

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

    • @yanuzay0520
      @yanuzay0520 2 ปีที่แล้ว

      @@ProgramWithGio thanks bro

  • @asok1111
    @asok1111 2 ปีที่แล้ว +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  2 ปีที่แล้ว +1

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

    • @asok1111
      @asok1111 2 ปีที่แล้ว +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  2 ปีที่แล้ว +1

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

  • @foziljonofficial
    @foziljonofficial 2 ปีที่แล้ว +1

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

    • @ProgramWithGio
      @ProgramWithGio  2 ปีที่แล้ว +1

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

    • @foziljonofficial
      @foziljonofficial 2 ปีที่แล้ว +1

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

    • @ProgramWithGio
      @ProgramWithGio  2 ปีที่แล้ว +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 2 ปีที่แล้ว +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 !

  • @user-zn4bg9bp8a
    @user-zn4bg9bp8a 2 ปีที่แล้ว +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  2 ปีที่แล้ว +5

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

  • @tanzimibthesam5861
    @tanzimibthesam5861 3 ปีที่แล้ว

    Is it with PHP 8 installed?

    • @ProgramWithGio
      @ProgramWithGio  3 ปีที่แล้ว +1

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

  • @BenCorvo-iy1nc
    @BenCorvo-iy1nc 2 หลายเดือนก่อน

    echo "Thank you Gio";

    • @ProgramWithGio
      @ProgramWithGio  2 หลายเดือนก่อน

      echo 'You're welcome';

  • @rimantasdanilevicius6754
    @rimantasdanilevicius6754 3 ปีที่แล้ว +1

    I never saw that someone uses variable variable in practice.

    • @ProgramWithGio
      @ProgramWithGio  3 ปีที่แล้ว +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 ปีที่แล้ว

    wow which extension you use

    • @ProgramWithGio
      @ProgramWithGio  ปีที่แล้ว +1

      Do you mean IDE? I use phpstorm

    • @hasannuur8116
      @hasannuur8116 ปีที่แล้ว

      @@ProgramWithGio no the plugin

    • @ProgramWithGio
      @ProgramWithGio  ปีที่แล้ว

      Plugin for what?

    • @hasannuur8116
      @hasannuur8116 ปีที่แล้ว

      @@ProgramWithGio phpstorm i already watch your lesson half,

    • @hasannuur8116
      @hasannuur8116 ปีที่แล้ว

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

  • @gedasgedas1720
    @gedasgedas1720 3 ปีที่แล้ว

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

  • @utkarshkaushik6480
    @utkarshkaushik6480 11 หลายเดือนก่อน

    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  11 หลายเดือนก่อน

      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 6 หลายเดือนก่อน

    Now I know why people hate php..

  • @nowsage
    @nowsage 2 ปีที่แล้ว +1

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

    • @ProgramWithGio
      @ProgramWithGio  2 ปีที่แล้ว +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 2 ปีที่แล้ว

    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  2 ปีที่แล้ว +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 TH-cam 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 2 ปีที่แล้ว

    Great videos!