AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[PHP] ovjekt var in class zuweisen

Ein Thema von ghost007 · begonnen am 26. Feb 2009 · letzter Beitrag vom 26. Feb 2009
Antwort Antwort
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#1

[PHP] ovjekt var in class zuweisen

  Alt 26. Feb 2009, 14:29
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:
 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();
   [...]
  }
 }
Der funktioniert so auch, aber ich bin nich glücklich damit. Ich hätte gern eine lösung di in etwas so aussieht:
Code:
 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();
   [...]
  }
 }
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?

Danke schonmal
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
tomsson74

Registriert seit: 8. Jan 2008
73 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [PHP] ovjekt var in class zuweisen

  Alt 26. Feb 2009, 14:49
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();
   [...]
  }
}
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#3

Re: [PHP] ovjekt var in class zuweisen

  Alt 26. Feb 2009, 14:51
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
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
tomsson74

Registriert seit: 8. Jan 2008
73 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP] ovjekt var in class zuweisen

  Alt 26. Feb 2009, 14:55
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;
  } 
  (...)
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#5

Re: [PHP] ovjekt var in class zuweisen

  Alt 26. Feb 2009, 15:01
äußerst komisch, ich bilde mir ein, ich hätte das so gestern auch schon probiert ... naja, nun gehts. Vielen dank
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

Re: [PHP] ovjekt var in class zuweisen

  Alt 26. Feb 2009, 15:06
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.
  Mit Zitat antworten Zitat
tomsson74

Registriert seit: 8. Jan 2008
73 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [PHP] ovjekt var in class zuweisen

  Alt 26. Feb 2009, 15:13
Zitat von ghost007:
äußerst komisch, ich bilde mir ein, ich hätte das so gestern auch schon probiert ... naja, nun gehts. Vielen dank
Na ja, gestern, einen Tag nach Faschingsdienstag und so ...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf