I have a config file that I include early in my program and set this
define('BASE_SLUG','/shop');
I include another file later with these lines
echo BASE_SLUG;
if (defined(BASE_SLUG)) {
  echo ' - yes';
} else {
  echo ' - no';
}
And my output is
/shop - no
how is this possible?  BASE_SLUG has the value of /shop and I can echo it, but one line later it says it is not defined
Here is the function prototype for defined
bool defined ( string $name )
You can see that it expects a string value for a constant name. Yours isn't a valid string.
if (defined(BASE_SLUG)) {
Should have the name of constant inside quotes, like :
if (defined('BASE_SLUG')) {
Read this note from PHP Manual
<?php
/* Note the use of quotes, this is important.  This example is checking
 * if the string 'TEST' is the name of a constant named TEST */
if (defined('TEST')) {
    echo TEST;
}
?> 
Source
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With