In the above code the 2nd output does not show the data actually stored as our declared constants are case sensitive by default. To make them case insensitive we have to use another optional parameter case_insensitive set to TRUE
define("FNAME",'Alex',True);
echo Fname; // output : Alex
We can't use hyphens while declaring any constants but we can use underscores
The difference between constant and variable is the data stored inside a constant is not changed throughout the execution of the program. Whereas variables can be assigned to different values at various stage of the program.
Checking existence of a constant : defined()
Before using any constants in our script we can check if it exist or not by using defined() function. We will get Ture of False as return from this function. Here is an example.
In above code we have first declared a constant and then in 2nd line checked the existence so the if condition will return TRUE. By removing the first line we will get FALSE and else condition will execute.
Where to use constant and where to use variable
When we don't expect the value to change throughout the execution of script then we should use constants. Readability of code is the main advantage of using constants in our scripts. Here are some examples of constants.
Note that there is no hard rule that you must use constants in your scripts.
Number of seconds in one minute
Interest Rate of Bank for the maturity calculation
We know the above values will not change during execution of the script. In some cases we have to use variables like this.
Time of adding the record to database table ( to prevent recursive posting within short interval by spammer )
Initial deposit amount in Bank
While using the constant name always keep them within quotes like defined('SITE')