Hallo Leute,
ich nutze FPDF, welches ja eine PHP_Klasse ist.
FPDF ist ja mit vielen Plugin-Klassen gesegnet, welche die Arbeit wirklich Maßgeblich erleichtern.
Alle diese Plugins erben ja von der Klasse FPDF. Wie stellt man es aber jetzt am geschicktesten an, wenn man beispielsweise 2-3 Plugins für sein PDF-Script nutzen möchte/muss.
Um es greifbar zu machen, hier mal ein fiktives Beispiel:
1. Klasse PDF_Gallery (Erstellen einer Bildseite mit Thumbnails - mehrere bilder je zeile)
2. Klasse clipping (beschneiden von Bildern)
3. Watermark (wasserzeichen in den Hintergrund legen)
So, diese Plugins will ich alle für die Erstellung eines PDF nutzen. Die Klasse Clipping habe ich mal exemplarisch verlinkt, damit man sieht, wie so eine Klasse aufgebaut ist.
Mein erster Ansatz war nun, die klassen alle voneinander erben zu lassen.
So erbt PDF_Gallery von FPDF, Clipping vvon PDF_Gallerie, Watermark von Clipping usw.
Das gibt aber mit der zunehmenden Anzahl an Plugins ein Chaos und imensen Aufwand, weil ich ja dann auch im eigentlichen php-script immer die zuletzt hinzugefügte Klasse instanziieren muss.
Ausserdem muss ich so jedesmal die Vererbung in den Klassen selbst anpassen - je nachdem von welcher vorhergehenden Klasse geerbt wird.
Gibt es nicht eine Möglichkeit, die Plugin-Klassen unangetastet zu lassen, aber die funktionen dennoch allle auf die gleiche Objektreferenz auszuführen?
Is n bissl schwer zu erklären, daher hier ggf. mal ein Ansatz von mir, jeweils eigene Pbjekte zu machen, und diese dann zu mergen: http://codepad.viper-7.com/j4I3Ov
Gibt es da noch andere ansatzpunkte so etwas sauber zu lösen.
Problematik ist unter anderem, dass in den Plugins überall mit $this->xy auf Funktionen und variablen aus der FPDF-Klasse selbst zugegriffen wird.
Hoffe jemand kann licht ins dunkel bringen.
Danke im vorraus
ich nutze FPDF, welches ja eine PHP_Klasse ist.
FPDF ist ja mit vielen Plugin-Klassen gesegnet, welche die Arbeit wirklich Maßgeblich erleichtern.
Alle diese Plugins erben ja von der Klasse FPDF. Wie stellt man es aber jetzt am geschicktesten an, wenn man beispielsweise 2-3 Plugins für sein PDF-Script nutzen möchte/muss.
Um es greifbar zu machen, hier mal ein fiktives Beispiel:
1. Klasse PDF_Gallery (Erstellen einer Bildseite mit Thumbnails - mehrere bilder je zeile)
2. Klasse clipping (beschneiden von Bildern)
3. Watermark (wasserzeichen in den Hintergrund legen)
So, diese Plugins will ich alle für die Erstellung eines PDF nutzen. Die Klasse Clipping habe ich mal exemplarisch verlinkt, damit man sieht, wie so eine Klasse aufgebaut ist.
Mein erster Ansatz war nun, die klassen alle voneinander erben zu lassen.
So erbt PDF_Gallery von FPDF, Clipping vvon PDF_Gallerie, Watermark von Clipping usw.
Das gibt aber mit der zunehmenden Anzahl an Plugins ein Chaos und imensen Aufwand, weil ich ja dann auch im eigentlichen php-script immer die zuletzt hinzugefügte Klasse instanziieren muss.
Ausserdem muss ich so jedesmal die Vererbung in den Klassen selbst anpassen - je nachdem von welcher vorhergehenden Klasse geerbt wird.
Gibt es nicht eine Möglichkeit, die Plugin-Klassen unangetastet zu lassen, aber die funktionen dennoch allle auf die gleiche Objektreferenz auszuführen?
Is n bissl schwer zu erklären, daher hier ggf. mal ein Ansatz von mir, jeweils eigene Pbjekte zu machen, und diese dann zu mergen: http://codepad.viper-7.com/j4I3Ov
Gibt es da noch andere ansatzpunkte so etwas sauber zu lösen.
Problematik ist unter anderem, dass in den Plugins überall mit $this->xy auf Funktionen und variablen aus der FPDF-Klasse selbst zugegriffen wird.
Hoffe jemand kann licht ins dunkel bringen.
Danke im vorraus