Ich benutze PHP 5.3.8 mit CakePHP 2.1.1."global" funktioniert nicht in CakePHP 2.1.1 Ansichten
Dies ist meiner Ansicht nach (das Layout ist leer, es tatsächlich nur die Ansicht gibt selbst)
<?php
// $present is not a view variable
$present = 'Hello World!';
class ApplicationsPDF
{
public function CreateApplicationTable()
{
global $present;
exit(var_dump($present));
}
}
$pdf = new ApplicationsPDF();
$pdf->CreateApplicationTable();
?>
Der Ausgang ist null
statt „Hallo Welt!“.
Wenn ich diesen Code in eine einzelne Datei kopieren und einfügen (die ich direkt aus dem Browser ausführen), funktioniert es perfekt!
Also muss es ein CakePHP-Fehler sein. Weiß jemand das?
Ich kann mir nicht vorstellen, dass ein Bug dieses Signifikant nicht schon einmal erwischt wurde, aber es gibt nichts in den 5.3.9+ changelogs. Ich muss mir vorstellen, dass es etwas mit deiner lokalen Umgebung zu tun hat. Verwenden Sie auto_prepend_file, um etwas zu erstellen? –
Nein, aber der obige Code wird von CakePHP 2.1.1 ausgeführt. Ich habe gerade herausgefunden, dass der Code perfekt eigenständig läuft. Ich werde die Frage bearbeiten. (Ich weiß, dass Stackoverflow kein Bug Tracker ist, aber ich wollte diese Frage nicht löschen) – ComFreek
Ich weiß, dass es nicht der Punkt ist, aber warum müssen Sie globale Variablen verwenden? Warum nicht "$ present" in den Konstruktor übergeben und eine Klassenvariable setzen? –