Moinsen,
habe seit geraumer Zeit ein Fehler den ich einfach nicht gefixt bekomme.
Fehler: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ...
Ich rufe Funktion mit Hilfe von einem Objekt auf. Hier der Code der Klasse.
Aufgerufen wird eine Funktion z.B. so:
Was mich verblüfft ist, das der Fehler nur bei der setCookie Funktion auftritt. Auch wenn ich diese umbenenne.
Die setCookie Funktion sieht bei mir dann so aus.
Jemand eine Idee wie ich den Fehler fixen kann?
habe seit geraumer Zeit ein Fehler den ich einfach nicht gefixt bekomme.
Fehler: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ...
Ich rufe Funktion mit Hilfe von einem Objekt auf. Hier der Code der Klasse.
PHP-Code:
final class Functions
{
private static $objInstance;
private $strFolder;
public function __get($strKey)
{
$this->strFolder = ucfirst(mb_strtolower($strKey));
return ($this);
}
public function __call($strName, array $arrParam)
{
if (!function_exists($strName) &&
file_exists(Registry :: get('SysFunctionsPath') . $this->strFolder . '/' . $strName . '.func.php'))
{
require_once (Registry :: get('SysFunctionsPath') . $this->strFolder . '/' . $strName . '.func.php');
}
$strFunction = $this->strFolder . '_' . $strName;
$this->strFolder = null;
return (call_user_func_array($strFunction, $arrParam));
}
public static function getInstance()
{
if (!is_object(self :: $objInstance))
{
self :: $objInstance = new Functions();
}
return (self :: $objInstance);
}
}
PHP-Code:
$this->objFunctions->Input->setCookie();
Die setCookie Funktion sieht bei mir dann so aus.
PHP-Code:
function Input_setCookie($strName, $mixValue, $intExpire = 31536000, $strPath = '/', $strDomain = null, $blnSecure = false, $blnHTTPOnly = false)
{
if (headers_sent())
{
throw new Exception('Headers already sent! [' . __FUNCTION__ . ']');
}
$objFunctions = Functions :: getInstance();
if ($strDomain === null)
{
$strDomain = str_replace('www', '', parse_url($objFunctions->Environment->domain(), PHP_URL_HOST));
}
$intExpire = $objFunctions->Environment->time() + $intExpire;
setcookie($strName, $mixValue, $intExpire, $strPath, $strDomain, $blnSecure, $blnHTTPOnly);
}
Kommentar