| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

18-05-2007, 00:24
|
|
Mra
Newbie
|
|
Registriert seit: Nov 2006
Ort: Österreich
Beiträge: 44
|
|
[OOP] Klasse in einer anderen Klasse verwenden
Ich habe zwei Klassen und möchte nun die eine Klasse in der anderen Verfügbar machen.
In der Index schaut es nun so:
PHP-Code:
<?php
$class1 = new Class1;
$class2 = new Class2;
Class2 schaut so aus:
PHP-Code:
<?php
class Class2 {
function Method1() {}
function Method2() {}
Ich weiß schon, dass man jetzt in jeder Methode global $class1 schreiben könnte, aber das wäre doch sehr umständlich. Ist es nicht möglich, dass man alle Klassen in allen anderen Klassen verfügbar macht?
|

18-05-2007, 00:38
|
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
Re: [OOP] Klasse in einer anderen Klasse verwenden
Zitat:
|
Original geschrieben von Mra Ist es nicht möglich, dass man alle Klassen in allen anderen Klassen verfügbar macht?
|
suchst du extends ?
|

18-05-2007, 00:40
|
|
ZombieChe
Member
|
|
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
|
|
Du könntest sie doch als Parameter an die Methoden übergeben...
Hat den Vorteil, dass es eine beliebige Klasse sein kann.
|

18-05-2007, 00:44
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
Re: [OOP] Klasse in einer anderen Klasse verwenden
Zitat:
Original geschrieben von Mra
Ist es nicht möglich, dass man alle Klassen in allen anderen Klassen verfügbar macht?
|
nein. siehe ZombieChes antwort.
|

18-05-2007, 00:44
|
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
jetz nochmal gelesen: "Original geschrieben von Mra Ist es nicht möglich, dass man alle Klassen in allen anderen Klassen verfügbar macht?"
wozu eigentlich dieser murks?
|

18-05-2007, 11:27
|
|
Mra
Newbie
|
|
Registriert seit: Nov 2006
Ort: Österreich
Beiträge: 44
|
|
Re: Re: [OOP] Klasse in einer anderen Klasse verwenden
Zitat:
Original geschrieben von 3DMax
suchst du extends ?
|
Daran habe ich auch schon gedacht, jedoch wäre das auch sehr umständlich. Also gibt es nur die zwei Möglichkeiten, die Klasse als Parameter zu übergeben oder die Klasse bei jeder Funktion global zu machen?
|

18-05-2007, 11:44
|
|
ZombieChe
Member
|
|
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
|
|
Zitat:
|
wozu eigentlich dieser murks?
|
Äußerst berechtigte Frage.
Zitat:
|
Also gibt es nur die zwei Möglichkeiten, die Klasse als Parameter zu übergeben oder die Klasse bei jeder Funktion global zu machen?
|
Ist das denn nicht genug. Ich denke mal, es wäre vielleicht auch möglich, sie als Superglobale in die Session zu schreiben 
Aber das eleganteste ist das garantiert nicht und es bleibt die Frage von 3DMax - bitte aufklären...
|

18-05-2007, 11:54
|
|
Mra
Newbie
|
|
Registriert seit: Nov 2006
Ort: Österreich
Beiträge: 44
|
|
Zitat:
Original geschrieben von 3DMax
wozu eigentlich dieser murks?
|
So wie es jetzt ist, muss ich die ganzen Klassen immer in Parametern übergeben. Wenn ich alle für alles verfügbar machen würde, dann wäre das weit leichter und übersichtlicher.
|

18-05-2007, 12:05
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
nun werd doch mal konkreter, ich brenne vor neugier. was sind "die ganzen klassen"? was machen sie? wieviele sind das? wie übergibst du sie einander?
|

18-05-2007, 12:19
|
|
Mra
Newbie
|
|
Registriert seit: Nov 2006
Ort: Österreich
Beiträge: 44
|
|
Zitat:
Original geschrieben von penizillin
nun werd doch mal konkreter, ich brenne vor neugier. was sind "die ganzen klassen"? was machen sie? wieviele sind das? wie übergibst du sie einander?
|
Ich arbeite bereits seit 1 1/2 Jahren an einem Projekt und habe immer mehr dazu und dazu programmiert. Leider habe ich aber da kaum etwas von PHP verstanden und deshalb ist jetzt der Code der reinste Sauhaufen. Deshalb will ich jetzt auch ein bisschem objektorientierter werden und ein paar Klassen erstellen, um Übersicht zu bekommen. Zurzeit habe ich zwar nur 3 Klassen, aber ich will in der nächsten Zeit noch viele dazu machen. Und da wäre es sehr umständlich, bei jeder neuen Klasse wieder überall die Parameter zu ändern.
Zurzeit werden sie noch gar nicht übergeben, da ich da irgendwie dann nicht weiter gekommen bin. Deshalb habe ich ja auch dieses Thema aufgemacht.
|

18-05-2007, 12:21
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
Zitat:
|
Und da wäre es sehr umständlich, bei jeder neuen Klasse wieder überall die Parameter zu ändern.
|
und jetzt die entscheidende frage: warum muss jede klasse von allen anderen etwas wissen? welche klassen sind das denn nun?
|

18-05-2007, 21:06
|
|
closure
Master
|
|
Registriert seit: Mar 2006
Beiträge: 796
|
|
Hi,
müssen sie mit sicherheit nicht. Der OP möchte sich gedanken darum
machen in welchem verhältnis die klassen stehen. Etwa in der form
foo ist ein bar
baz hat viele foobar
foobaz benutzt bazbar
Wenn du dir darüber im klaren bist kannst du dir überlegen wie man
das modelliert. Da sind die möglichkeiten vielfälltig.
greets
|

18-05-2007, 21:46
|
|
Bugbuster
PHP Junior
|
|
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
|
|
1. informier dich über UML, erlerne es und anschließend nutze es ...
2. schnapp dir einen zettel
3. schnapp dir auch einen stift 
4. nun strenge dein hirn an und modeliere aufm papier was die klassen machen sollen und können müssen, was für methoden sie brauchen und welche variablen von nöten sind
dazu solltest du natürlich fundiertes Wissen in OOP in bezug zu PHP haben bzw. dieses wissen dir nach und nach aneignen
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|