<?php
/**
 * Simulates $sCacheKey = $sPath . "_{$blIgnoreCust}{$blAbsolute}"; (core/oxconfig.php:1413)
 * 
 * @param bool $blParam1
 * @param bool $blParam2
 */
function output($blParam1, $blParam2)
{
    $sPath = 'foobar';
    var_dump($sPath . "_{$blParam1}{$blParam2}");
}

/**
 * Simulates $sCacheKey = $sPath . "_{$blIgnoreCust}{$blAbsolute}";  (core/oxconfig.php:1413) except the booleans are 
 * casted to string. (with the detour over casting boolean to int to have a representable value.)
 * 
 * @param bool $blParam1
 * @param bool $blParam2
 */
function outputFixed($blParam1, $blParam2)
{
    $sPath = 'foobar';
    $iParam1 = (int) $blParam1;
    $iParam2 = (int) $blParam2;
    var_dump($sPath . "_{$iParam1}{$iParam2}");
}

output(true, true);
output(true, false);
output(false, true);
output(false, false);
echo '---------------------------<br>' . PHP_EOL;
outputFixed(true, true);
outputFixed(true, false);
outputFixed(false, true);
outputFixed(false, false);
