protected function determineValue($value)
    {
        if (\is_array($value)) {
            foreach ($value as &$item) {
                $item = $this->determineValue($item);
            }

            unset($item);

            return $value;
        }

        // Trim the value of spaces
        $value = trim($value);

        // If there was no double colon found there's no need to go further
        if (strpos($value, '::') === false) {
            return $value;
        }

        // Determine if the value is a constant
        if (\defined($value)) {
            // Set the value as the constant's value
            return \constant($value);
        }

        [$class, $member] = explode('::', $value);

        // Check for static property
        if (property_exists($class, $member)) {
            return $class::$$member;
        }

        // Check for static method
        if (method_exists($class, $member)) {
            return $class::$member();
        }

        return $value;
    }
protected function determineValue($value)
    {
        if (\is_array($value)) {
            foreach ($value as &$item) {
                $item = $this->determineValue($item);
            }

            unset($item);

            return $value;
        }

        // Trim the value of spaces
        $value = trim($value);

        // If there was no double colon found there's no need to go further
        if (strpos($value, '::') === false) {
            return $value;
        }

        // Determine if the value is a constant
        if (\defined($value)) {
            // Set the value as the constant's value
            return \constant($value);
        }

        [$class, $member] = explode('::', $value);

        // Check for static property
        if (property_exists($class, $member)) {
            return $class::$$member;
        }

        // Check for static method
        if (method_exists($class, $member)) {
            return $class::$member();
        }

        return $value;
    }
protected function determineValue ( $ value ) { if ( \ is_array ( $ value ) ) { foreach ( $ value as & $ item ) { $ item = $ this -> determineValue ( $ item ) ; } unset ( $ item ) ; return $ value ; } // Trim the value of spaces $ value = trim ( $ value ) ; // If there was no double colon found there's no need to go further if ( strpos ( $ value , '::' ) === false ) { return $ value ; } // Determine if the value is a constant if ( \ defined ( $ value ) ) { // Set the value as the constant's value return \ constant ( $ value ) ; } [ $ class , $ member ] = explode ( '::' , $ value ) ; // Check for static property if ( property_exists ( $ class , $ member ) ) { return $ class :: $ $ member ; } // Check for static method if ( method_exists ( $ class , $ member ) ) { return $ class :: $ member ( ) ; } return $ value ; }
Determine if a value is a defined constant.

@param mixed $value The value to check

@return mixed
Determine if a value is a defined constant .