php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 30-09-2007, 21:07
lord_fritte
 Newbie
Links : Onlinestatus : lord_fritte ist offline
Registriert seit: Oct 2004
Beiträge: 73
lord_fritte ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zusammenarbeit von klassen?

Hallo ich habe 4 Klassen, klasse1, klasse2, klasse3 und klasse4.
So ist es nun möglich das z.b. klasse2 auf Funktionen von klasse4, klasse4 auf Funktionen von klasse1, klasse3 auf Funktionen von klasse 2, usw. zugreifen kann?

Funktioniert die Zusammenarbeit auch, wenn man die Funktionen außerhalb der klassen benutzt z.b.: $class1->funktion2(), $class3->funktion5(); usw.?
Mit Zitat antworten
  #2 (permalink)  
Alt 30-09-2007, 21:10
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Erklär mal genauer, wozu das gut sein soll. Unter Umständen könnte Klassenabstraktion ein gutes Stichwort sein. Ansonsten können Klassen auf "fremde" Methoden nur nach Instanziierung der Klasse, die diese Methoden beherbergt, zugreifen - außer es handelt sich um statische Methoden.
Mit Zitat antworten
  #3 (permalink)  
Alt 30-09-2007, 21:19
lord_fritte
 Newbie
Links : Onlinestatus : lord_fritte ist offline
Registriert seit: Oct 2004
Beiträge: 73
lord_fritte ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich möchte mir eine kleine Klassenbibliothek mit Debug-Klasse, Datenbank-Klasse, Template-Klasse und eine Klasse für sonstige nützliche Funktionen schreiben.

Die Debug-Klasse ist zum festhalten wichtiger Ereignisse und Auswertung von Fehlern zuständig.
Jetzt braucht die Template-Klasse Zugriff auf die Debug-Klasse und Zugriff auf die Datenbank-Klasse.
Und die Sonstige-Klasse(für die ich mir noch einen namen ausdenken muss ) braucht Zugriff auf alle anderen 3 Klassen.
Es kann jetzt aber auch vorkommen, das ich zwischen 2 Klassen so eine Art Symbiose gibt.
Damit meine ich: class1->funktion1() braucht class2-funktion1() gleichzeitig braucht aber class2->funktion1() wiederum class1->funktion2()

So nun möchte ich aber das die Zusammenarbeit auch Funktion wenn ich eine Funktion von außen aufrufe($template->LoadTemplate(), jetzt soll die Template-Klasse an die Debug-Klasse einen Eintrag übergeben, den ich wiederum von außen($debug->OutputDebug()) ausgeben kann.

Geändert von lord_fritte (30-09-2007 um 21:25 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 30-09-2007, 21:28
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Du bist nicht der erste mit diesen Problemen!
Mache dich über "Design Pattern" kundig.
zb. singleton, factory, registry, mvc, usw...
__________________
Wir werden alle sterben
Mit Zitat antworten
  #5 (permalink)  
Alt 30-09-2007, 21:32
lord_fritte
 Newbie
Links : Onlinestatus : lord_fritte ist offline
Registriert seit: Oct 2004
Beiträge: 73
lord_fritte ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja mal gucken, sonst muss ich eben alles in eine Klasse packen.

Bei dem "Registry", darf man Klassen auch so benutzen: "Klasse::Funktion()" ?
Ich dachte man dürfte das nur innerhalb von Klassen?

Geändert von lord_fritte (30-09-2007 um 21:34 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 30-09-2007, 21:39
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Das darf man überall!
Aber ob das immer so gut ist, ist eine ganz andere Frage...
__________________
Wir werden alle sterben
Mit Zitat antworten
  #7 (permalink)  
Alt 30-09-2007, 22:21
lord_fritte
 Newbie
Links : Onlinestatus : lord_fritte ist offline
Registriert seit: Oct 2004
Beiträge: 73
lord_fritte ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was kann den da Negatives passieren?
Aber geht das nicht auch mit dem extends Befehl?
Mit Zitat antworten
  #8 (permalink)  
Alt 30-09-2007, 23:55
Griecherus
 PHP Senior
Links : Onlinestatus : Griecherus ist offline
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
Griecherus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mit extends sind wir dann wieder beim Stichwort Klassenabstraktion. Und diese stellt Ist-Ein Beziehungen zwischen Klassen dar und ist daher kein Allzweckmittel.

PHP-Code:

# zweckmäßig

abstract class Vehicle
{
}

class 
Car extends Vehicle
{
}

# unzweckmäßig

class Aeroplane extends Vehicle
{
}

# oder gar

class Cat extends Vehicle
{

Ich hoffe du versteht, was ich meine.

Grüße
Mit Zitat antworten
  #9 (permalink)  
Alt 01-10-2007, 13:50
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von lord_fritte
Was kann den da Negatives passieren?
Aber geht das nicht auch mit dem extends Befehl?
z.B. Statik und Singleton gehören zu den einschränkenden Sprach- und Design- Mitteln. Und irgendwann in ferner Zukunft rächen sich wilkürliche Einschränkungen. Aber die Erfahrung muß jeder selber machen!
__________________
Wir werden alle sterben
Mit Zitat antworten
  #10 (permalink)  
Alt 01-10-2007, 15:36
lord_fritte
 Newbie
Links : Onlinestatus : lord_fritte ist offline
Registriert seit: Oct 2004
Beiträge: 73
lord_fritte ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich glaube ich mache es jetzt einfach so:
Ich erstelle eine System-Klasse dir zu Kommunikation zwischen Klassen und Script dient, und für fein arbeiten kann nun eben die System-Klasse mit den anderen Klassen kommunizieren.
Mit Zitat antworten
  #11 (permalink)  
Alt 01-10-2007, 16:03
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von lord_fritte
Ich erstelle eine System-Klasse dir zu Kommunikation zwischen Klassen und Script dient ...
hört sich nach einem God object an
Mit Zitat antworten
  #12 (permalink)  
Alt 01-10-2007, 16:04
lord_fritte
 Newbie
Links : Onlinestatus : lord_fritte ist offline
Registriert seit: Oct 2004
Beiträge: 73
lord_fritte ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja aber anders geht es nicht.

Oder ich mache doch nur eine Große Klasse.

EDIT:
Ich habe gerade mal was gestestet, ich kann doch einer Klasse eine andere Klasse übergeben?
z.b.:
PHP-Code:
$class1 = new klasse1();
$class2 = new klasse2($class1); 

Geändert von lord_fritte (01-10-2007 um 17:09 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 01-10-2007, 17:21
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

sicherlich
__________________
Wir werden alle sterben
Mit Zitat antworten
  #14 (permalink)  
Alt 01-10-2007, 18:54
lord_fritte
 Newbie
Links : Onlinestatus : lord_fritte ist offline
Registriert seit: Oct 2004
Beiträge: 73
lord_fritte ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja also dann ist es doch perfekt
Mit Zitat antworten
  #15 (permalink)  
Alt 01-10-2007, 19:12
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nur das Singleton oder ein anderes Pattern eventuell mehr Sinn machen ... aber naja, ist bei PHP wohl eh egal~
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
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.

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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:03 Uhr.