![]() |
[PHP] ovjekt var in class zuweisen
Seit ein paar tagen code ich nun ein wenig OOP mit php rum, jedoch bin ich auf ein problem gestoßen.
Ich hab mir eine mysql class gebaut, wie die intern aussieht ist nich von belang. Jedoch hab ich eine andere class, die über die mysql class auf die DB zugreifen soll. Mein problem ist nun, dass ich egtl nur einmal ein mysql objekt erstellen will, innerhalb der class und nicht in jeder function ein neues erstellen muss. Der code schaut momentan wie folgt aus:
Code:
Der funktioniert so auch, aber ich bin nich glücklich damit. Ich hätte gern eine lösung di in etwas so aussieht:
class mysql{...}
class blubb{ function a() { $sql = new mysql; $sql->bla(); [...] } function b() { $sql = new mysql; $sql->bla(); [...] } function c() { $sql = new mysql; $sql->bla(); [...] } }
Code:
Jedoch sagt er mir bei der unteren version, dass der variable $sql kein neues mysql objekt zugeordnet werden kann. Warum ? Bzw wie löse ich das am besten/elegantesten?
class mysql{...}
class blubb{ $sql = new mysql; function a() { //$sql = new mysql; $sql->bla(); [...] } function b() { //$sql = new mysql; $sql->bla(); [...] } function c() { //$sql = new mysql; $sql->bla(); [...] } } Danke schonmal :) |
Re: [PHP] ovjekt var in class zuweisen
Du kannst in der Klasse "blubb" eine Funktion implementieren, die ein Objekt erstellt oder das gazne aber im Konstruktor von "blubb" machen. Das könnte z.b so ausehen (PHP 5) :
Code:
class blubb
{ private $sql = NULL; public function __construct() { $this->sql = new mysql; } function a() { $sql->bla(); [...] } function b() { $sql->bla(); [...] } function c() { $sql->bla(); [...] } } |
Re: [PHP] ovjekt var in class zuweisen
mh, so hab ich das auch schonal versucht, wobei ich dann mit verwundern festgestellt hab, dass mein php5 space was gegen das private hat ... irwie komisch oO
|
Re: [PHP] ovjekt var in class zuweisen
Vielleicht hast Du gar kein PHP5 oder es ist nicht aktiviert. Alternativ kannst Du es auch mit PHP4 probieren:
Code:
class blubb
{ var $sql; function blubb() // entspricht dem Konstruktor { $this->sql = new mysql; } (...) |
Re: [PHP] ovjekt var in class zuweisen
äußerst komisch, ich bilde mir ein, ich hätte das so gestern auch schon probiert ... naja, nun gehts. Vielen dank :)
|
Re: [PHP] ovjekt var in class zuweisen
Wenn er am private meckert müsste auf deinem Webspace ein PHP 4 laufen. Wenn du das DB Objekt nur einmal erstellen willst, kannst du mit dem Suchbegriff "Singleton" mal eine Suchmaschine deiner Wahl quälen.
|
Re: [PHP] ovjekt var in class zuweisen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz