| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Statische oder normales Datenbankobject im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Guten Morgen zusammen, ich beiße mir seit gestern nun an folgender Situation die Zähne aus: Ich baue mir anhand eines ...
![]() |
| | #1 (permalink) |
| Guten Morgen zusammen, ich beiße mir seit gestern nun an folgender Situation die Zähne aus: Ich baue mir anhand eines Tutorials ein MVC-Framwork auf, welches ich für meine Homepage benutzen möchte. Bisher klappt alles auch schön und gut, jedoch habe ich ein Problem bei der Datenabfrage über eine Datenbankklasse aus dem Model heraus. Das DB-Object instanziiere ich als normale Variable im __Contruct, damit dies zur Lebenzeit des Objects (Model) zur Verfügung steht und ich mir die Daten aus der DB holen kann. Jedoch wirft er mir in Zeile 23 einen Fehler den ich garnicht nachvollziehen kann: Code: Fatal error: Using $this when not in object context in C:\xampp\htdocs\disane\classes\model.php on line 23 PHP-Code: Meine "Recherchen" ergaben, dass aber das DB-Object NULL ist. Das Datenbankobject funktioniert aber (wenn ich es nicht aus dem Model aufrufe, sondern z.b. in der index.php) ganz normal und wie gewohnt. Eventuell sieht einer von euch den Fehler sofort und könnte mich da unterstützen. Vielen Dank! EDIT: So klappt es nun. Wie ich erfahren habe, muss ich das Singleton(-Verfahren) dort benutzen. So klappt es: PHP-Code: Geändert von reaLInsanity (23.12.09 um 10:06 Uhr) | |
| | |
| | #2 (permalink) |
| Hallo, in der entsprechenden Zeile greifst du über das $this-Objekt auf die Datenbankverbindung zu ($this->mysql->receiveData...). Was nicht geht, da du in der statischen Funktion im statischen Kontext bist und dort außerhalb deiner aktuellen Instanz (es gibt das $this-Objekt schlicht und einfach nicht). Entweder machst du alles statisch (wie in deiner Singleton-Version), was an sich auch nicht so schön is, dafür aber praktisch. Oder du deklarierst alle Variablen und Methoden als Member der Klasse (also nicht-statisch) und speicherst irgendwo eine Instanz deines Models. mfg, metax.
__________________ Wenn keiner zuschaut, teile ich heimlich durch Null! Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter | |
| | |
| HaBOT | |
| |
| | #3 (permalink) |
| Themenstarter | Ja momentan sind es noch meine erstern Versuche mit MVC-Patterns. Werde bei gg. Zeit das auch alles Umstellen und die Models von einer Base-Klasse extenden etc. Dort werde ich auch deine Anmerkung bzgl. der Singleton-Variante berücksichtigen. Vielen Dank! |
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |