Ich habe ein PHP-Skript, das in PHP 5 funktioniert, aber nicht in PHP 4. Ich habe einen kleinen Testfall für Sie demonstriert (Disclaimer: Ich weiß, dass der untenstehende Code sein könnte geschrieben viel besser, aber es ist nicht ein tatsächlich verwendetes Stück, sondern derjenige zu zeigen, was ich spreche):Code funktioniert nicht in PHP 4
class Messenger {
var $messages = '';
function add($message) {
$this->messages .= "$message\n";
}
}
function add($m) {
if (! isset($GLOBALS['instance'])) $GLOBALS['instance'] = new Messenger();
call_user_func_array(array($GLOBALS['instance'], 'add'), array($m));
}
add("One");
add("Two");
add("Three");
var_dump($GLOBALS['instance']->messages);
unter PHP 5 die messages
Eigenschaft all 3 Nachrichten enthält, unter PHP 4 er leer ist. Warum?
re Ihren Kommentar zu meinem Beitrag, sie ist absolut richtig. Wie ich auf der Unterseite erwähnt habe, bin ich ein bisschen Kaffee entzogen. Auch war unter dem Eindruck, meine Testbox hier bei der Arbeit war ein 4.x, aber ich denke, es wurde seither aufgerüstet. (Glück für mich alle Entwicklung residiert sowieso im Haus). Es ist auch nicht so, dass Sie in PHP nicht dasselbe machen können, nur können Sie die Methoden nicht als statisch bezeichnen. Gute PHP4 Demo: http://abing.gotdns.com/posts/2006/php4-tricks-the-singleton-pattern-part-i/ –