Ich möchte eine Funktion innerhalb einer Klassenmethode aufrufen, habe ich dieses Skript erstellt, aber nicht funktionieren, wie ich es tun kann? Wie kann ich eine Funktion innerhalb einer Klassenmethode aufrufen
Fatal error: Call to a member function function2() on null in /.../.../index.php on line 12
public static function table($name_t, callable $callback){
self::databaseConnection();
try {
$matches = array(
.....
);
function engine($var){
Gaia::$engine__ = $var[0];
}
$eng = new Table_call;
echo $eng;
$callback($matches);
if(isset(self::$s)){
//self::$instance->exec("CREATE TABLE IF NOT EXISTS ".$name_t."(".trim(self::$s,',').") ENGINE=MyISAM DEFAULT CHARSET=utf8;");
echo "Dump Success!<br> ".self::$engine__ ;
}
//return $bgj;
} catch (Exception $e) {
self::$instance = null;
echo ("Oh noes! There's an error in the query: ". $e);
}
}
Klasse Datei 2
class Table_call extends Gaia{
public function __call($name,$arg){
call_user_func($name,$arg);
}
}
Index-Datei
Gaia::table('test', function($table){
$table['autoIncrement']('id');
})->engine('MyISAM');
wie kann ich funktionieren auf diese Weise hinzufügen ??
Statische Funktionen angefordert werden muss, durch '' ::, während nicht statisch Funktionen müssen mit '$ this->' angefordert werden. In Ihrem Fall wäre es also "self :: function();" Wenn Sie es zu einer nicht statischen Funktion machen, wäre es '$ this-> function();'. Wird dir das helfen? Einige zusätzliche Erklärung: https://stackoverflow.com/questions/1417438/what-are-static-and-dynamic-variables-methods-in-oop –
Können Sie den gesamten HTML-Code, wo Sie versuchen, den PHP-Code zu echoten? –
ok Entschuldigung, aktualisiert. –