Q:

What is the effect and benifit of declaring the default value of a PHP function argument as "auto" as opposed to "null"

In this function in which none some or all arguements can be passed....
what is the effect of calling $useCdn = auto as default as opposed to my current default value of null... generally @useCdn would either be a boolean or null.

public static function framework($extras = false, $debug = null, $useCdn = null)
{
    $type = $extras ? 'more' : 'core';

    // Only load once
    if (!empty(static::$loaded[__METHOD__][$type]))
    {
        return;
    }

    // If no debugging value is set, use the configuration setting
    if ($debug === null)
    {
        $config = JFactory::getConfig();
        $debug = $config->get('debug');
                    if($useCdn === null)
                    {
                        $useCdn = (boolean) $config->get('useCdn');
                    }
    }
            if($useCdn === null || $useCdn === true)
            {
                $config = JFactory::getConfig();
                if($useCdn === null)
                    {
                        $useCdn = (boolean) $config->get('useCdn');
                    }
                 if($useCdn)
                {
                    $cdnMTUri = (strlen($config->get('cdnMTUri'))>0 ? $config->get('cdnMTUri'): null);
                    if($debug)
                    {
                    $cdnMTUri = (strlen($config->get('cdnMTUriD'))>0 ? $config->get('cdnMTUriD'):$cdnMTUri);
                    }
                 }
            }
    if ($type != 'core' && empty(static::$loaded[__METHOD__]['core']))
    {
        static::framework(false, $debug);
    }
            if($useCdn && $cdnMTUri !== null)
            {
                JFactory::getDocument()->addScript($cdnMTUri); 
            }

    JHtml::_('script', 'system/mootools-' . $type . '.js', false, true, false, false, $debug);
    JHtml::_('script', 'system/core.js', false, true);
    static::$loaded[__METHOD__][$type] = true;

    return;
}

A:

$useCdn = auto has no meaning in this context, it's not a PHP type as null . 
There is basically no auto unless you define it as a constant.

