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 28-07-2008, 02:40
Stonebreaker62
 Member
Links : Onlinestatus : Stonebreaker62 ist offline
Registriert seit: Apr 2005
Beiträge: 161
Stonebreaker62 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Klassen/Objekte

Hallo,

ich nutze schon einige Zeit Klassen und Objekte, bin inzwischen aber unsicher, ob das, was ich da tue wirklich sinnvoll ist und keine Performanceprobleme zur Folge hat. Irgendwo in einem Tutorial habe ich gelesen, dass Klassen aus Eigenschaften bestehen und aus Methoden, die diese Eigenschaften manipulieren.

1. Wenn ich das so eng auslege, dann hat eine Methode zur Validierung eines Formulars in einer Klasse nichts zu suchen, weil diese ja keine Eigenschaften manipuliert. Genauso wenig hätte eine Methode zur Anzeige aller Kunden in einer Klasse kunde nichts zu suchen, weil diese ja auch keine Eigenschaften manipuliert. Richtig?

2. Wenn obige Aussage richtig ist, dann hole ich im Konstruktor der Klasse eine Tabellenzeile (z. B. aus einer Tabelle kunde) und schaufle die Felder in die Objektvariablen(Eigenschaften). Nun manipuliere ich die Werte (z.B. mit einer Methode ->setAdresse ($strasse, $plz, $ort) bzw. setKundenummer und schreibe danach die Werte mit einer Methode ->updateDB () zurück in die DB. Ist das so richtig verstanden? Für die Performance kann es ja nicht förderlich sein, wenn ich in setAdresse bzw. setKundenummer gleich einen Update auf die DB mache. Richtig?

3. Spricht etwas dagegen in einer Methode auf Superglobals wie $_GET ['strasse']zuzugreifen oder sollte man den Inhalt von $_GET zuerst in eine Klassenvariable mit $kunde->strasse = trim($_GET ['strasse']) übertragen und von dort dann in die DB schreiben?

4. Für die Performance sollte es doch förderlich sein, wenn man Klassen möglichst klein hält und besser mit vielen kleinen Klassen statt mit wenigen grossen arbeitet. Richtig?

Für einige kurze Tips wäre ich dankbar.
Mit Zitat antworten
  #2 (permalink)  
Alt 28-07-2008, 07:38
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
1. Wenn ich das so eng auslege, dann hat eine Methode zur Validierung eines Formulars in einer Klasse nichts zu suchen, weil diese ja keine Eigenschaften manipuliert. Genauso wenig hätte eine Methode zur Anzeige aller Kunden in einer Klasse kunde nichts zu suchen, weil diese ja auch keine Eigenschaften manipuliert. Richtig?
Japp, das siehst du eigentlich richtig.

Zitat:
2. Wenn obige Aussage richtig ist, dann hole ich im Konstruktor der Klasse eine Tabellenzeile (z. B. aus einer Tabelle kunde) und schaufle die Felder in die Objektvariablen(Eigenschaften). Nun manipuliere ich die Werte (z.B. mit einer Methode ->setAdresse ($strasse, $plz, $ort) bzw. setKundenummer und schreibe danach die Werte mit einer Methode ->updateDB () zurück in die DB. Ist das so richtig verstanden? Für die Performance kann es ja nicht förderlich sein, wenn ich in setAdresse bzw. setKundenummer gleich einen Update auf die DB mache. Richtig?
Würde ich auch als Richtig sehen. Insgesamt ist die Frage, ob das Holen des Datensatzes im Kostruktor oder außerhalb der Klasse erfolgen sollte, aber IMHO ist beides eine Möglichkeit, zumal du ja auch aus der Klasse heraus updaten willst.

Zitat:
3. Spricht etwas dagegen in einer Methode auf Superglobals wie $_GET ['strasse']zuzugreifen oder sollte man den Inhalt von $_GET zuerst in eine Klassenvariable mit $kunde->strasse = trim($_GET ['strasse']) übertragen und von dort dann in die DB schreiben?
Ist beides IMHO falsch. Richtig wäre Kunde->setStrasse($_GET['street']); aufzurufen. Du merkst, du bist zum einen nicht davon abhängig, wie das Formularfeld heißt, und zum anderen kannst du neben trim() später auch noch andere Funktionen erweitern und musst dies nur einmal in der Klassendefinition tun und nicht mehrfach bei jeder Zuweisung von ->strasse;

Zitat:
4. Für die Performance sollte es doch förderlich sein, wenn man Klassen möglichst klein hält und besser mit vielen kleinen Klassen statt mit wenigen grossen arbeitet. Richtig?
Pauschal würde ich sagen: Ja. Es fördert zudem die Übersichtlichkeit und hoffentlich die Wiederverwendbarkeit. Wenn es nur um Performance geht, fährst du u.U. noch besser, wenn du ganz auf Klassen verzichtest.

Dass sollte so im großen und ganzen die weitläufige Meinung sein. 100%ig kann man es vermutlich nicht sagen, weil PHP nicht so wirklich die klassische oo Programmiersprache ist.

Für deine zwei Beispiele vom Eingang halte ich es z.B. oft so, dass ich eine Validierungs-Klasse zur Verfügung habe. Diese ist jedoch meist komplett statisch, wodurch es eigentlich nur noch eine Sammlung nützlicher Funktionen ist. Hat mit OOP nicht mehr viel zu tun, trotzdem lassen sich so Schmankerl wie Autoloading verwenden.

Bei der Kunden, bzw. einer Objekt-Klasse (Benutzer, oder sonstige DB-Einträge) macht es oft gar keinen Sinn, oo zu arbeiten. Zwar lassen sich die Objekte (von Natur aus) gut in einer Klasse abbilden, aber sie existieren halt viel zu kurz, als dass es lohnt, sie zu erstellen. Die Wiederverwendbarkeit geht meist gegen 0. Und warum sollte ich mir die Mühe machen, alle Kundendetails aus der DB zu holen, wenn ich die Zeile im nächsten Moment wieder aus der DB löschen will? new Kunde(13) holt die Kundendaten und Kunde->delete() löscht ihn.

Du siehst es ist ein schmaler Grat und in vielen Fällen Ermessenssache.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 28-07-2008, 08:42
ModestLife
 Registrierter Benutzer
Links : Onlinestatus : ModestLife ist offline
Registriert seit: Sep 2007
Beiträge: 105
ModestLife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat:
1. Wenn ich das so eng auslege, dann hat eine Methode zur Validierung eines Formulars in einer Klasse nichts zu suchen, weil diese ja keine Eigenschaften manipuliert. Genauso wenig hätte eine Methode zur Anzeige aller Kunden in einer Klasse kunde nichts zu suchen, weil diese ja auch keine Eigenschaften manipuliert. Richtig?
Japp, das siehst du eigentlich richtig.
Find ich überhaupt nicht. Eine Klasse kann doch ohne weiteres ein Formular repräsentieren? Und da sie dies kann, kann sie auch Methoden zur Validierung eines Formulars bereitstellen. Anderes Beispiel: Eine Coverter-Klasse die A nach B konvertiert. Die wird auch nicht viel mit ihren Eigenschaften machen, vermutlich ist sie sogar abstrakt und hat nur statische Methoden.

Ich finde die Aussage, eine Klasse stellt ausschliesslich Methoden bereit um ihre Eigenschaften zu verändern, komplett falsch.
Mit Zitat antworten
  #4 (permalink)  
Alt 28-07-2008, 08:54
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Mit der Datenbank kannst du sehr wohl sogar sehr schön OOP arbeiten. Guck dir zum Beispiel mal Propel an. Damit hast du die Möglichkeit, dir deine SQL-Skripte und deine Datenbankobjekte automatisiert generieren zu lassen und kannst anschließend ohne viel eigenem SQL-Code sehr bequem auf die Datenbank zugreifen.
Mit Zitat antworten
  #5 (permalink)  
Alt 28-07-2008, 09:47
Stonebreaker62
 Member
Links : Onlinestatus : Stonebreaker62 ist offline
Registriert seit: Apr 2005
Beiträge: 161
Stonebreaker62 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schönen Dank für die ausführliche Antwort.

Auf das Holen aller Kunden-Daten im Konstruktor der Klasse kunde etc. werde ich wohl besser verzichten und dazu eine separate Methode holeDatenausDB bereitstellen.

Ist es denn sinnvoll, für jedes Tabellenfeld einer Kundentabelle eine Methode wie z. B. getAdresse bzw. setAdresse bereitzustellen, die jeweils nur diesen einen Wert (also die Adresse) aus der DB holt und mit setAdresse wieder zurückschreibt?

Das reduziert natürlich den DB Traffic, wenn in einem Dialog nur ein oder zwei Felder geändert werden müssen, erhöht ihn aber, wenn sehr viele Felder geändert werden müssen. Außerdem bekomme ich dann eine Inflation von Methoden, was wieder zu höheren Ladezeiten führt.

Performance-optimal wären wohl zwei Methoden, die genau nur die Werte aus der DB holen bzw zurückschreiben, die man manipulieren will. Wird allerdings etwas komplex, weil die SQL-Statements entsprechend manipuliert werden müssen. Hat das jemand zufälligerweise schon gelöst?
Mit Zitat antworten
  #6 (permalink)  
Alt 28-07-2008, 10:03
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Stonebreaker62
Ist es denn sinnvoll, für jedes Tabellenfeld einer Kundentabelle eine Methode wie z. B. getAdresse bzw. setAdresse bereitzustellen, die jeweils nur diesen einen Wert (also die Adresse) aus der DB holt und mit setAdresse wieder zurückschreibt?
Nein. Aber das macht Sinn:

PHP-Code:
class Person {
    private 
$adresse;

    public function 
getAdresse() {
        return 
$this->adresse;
    }

    public function 
setAdresse($adresse) {
        
$this->adresse $adresse;
    }

Mit Zitat antworten
  #7 (permalink)  
Alt 28-07-2008, 13:52
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Eine Klasse kann doch ohne weiteres ein Formular repräsentieren? Und da sie dies kann, kann sie auch Methoden zur Validierung eines Formulars bereitstellen.
Da stimme ich dir durchaus zu. Ist halt nur die Frage, ob das ein klassisches Aufgabengebiet ist. Wie gesagt, gerade in PHP ist es oft Ermessenssache.

Zitat:
Eine Coverter-Klasse die A nach B konvertiert. Die wird auch nicht viel mit ihren Eigenschaften machen, vermutlich ist sie sogar abstrakt und hat nur statische Methoden.
Also ne Abstrakte Klasse wird erstmal gar nichts machen. Sobald sie dann aber wirklich in der Lage ist, Sachen zu konvertieren, trifft das schon wieder sehr auf die Manipulation von Eigenschaften zu. Wenn man dass dann static realisiert, ist das imho nur eine Vereinfachung des ganzen. Siehe auch das Beispiel der Validierungs-Klasse. Die verändert eingentlich noch weniger als die Konvertierungs-Klasse.

Zitat:
Mit der Datenbank kannst du sehr wohl sogar sehr schön OOP arbeiten. Guck dir zum Beispiel mal Propel an.
Dass man mit Propel sehr schön arbeiten kann, unterschreibe ich sofort. Allerdings handelt es sich ja so gesehen nur um einen Mapper, und verlagert die ganze DB-Aktion. Für den Code ists aber sicher sinnvoll.


Zitat:
Auf das Holen aller Kunden-Daten im Konstruktor der Klasse kunde etc. werde ich wohl besser verzichten und dazu eine separate Methode holeDatenausDB bereitstellen.
Wäre eine Möglichkeit, ist aber auch eine Zeile Code mehr. Dann solltest du auch noch berücksichtigen, wie du das Kundenobjekt in einer Kundenliste verwenden willst. Nehmen wir an, du möchtest alle Kunden anzeigen. Soll dann für jeden Kunden ein Query gefahren werden. (Hier hab ich übrigens selbst noch keine leicht gewichtige Lösung gefunden, Anregungen gerne)

Zitat:
Ist es denn sinnvoll, für jedes Tabellenfeld einer Kundentabelle eine Methode wie z. B. getAdresse bzw. setAdresse bereitzustellen, die jeweils nur diesen einen Wert (also die Adresse) aus der DB holt und mit setAdresse wieder zurückschreibt? Das reduziert natürlich den DB Traffic, wenn in einem Dialog nur ein oder zwei Felder geändert werden müssen, erhöht ihn aber, wenn sehr viele Felder geändert werden müssen.
Das schreiben sollte Imho erst ganz zum Schluss (oder nach Aufruf von writeChanges (könnte aus einem Interface stammen) erfolgen.

Zitat:
Außerdem bekomme ich dann eine Inflation von Methoden, was wieder zu höheren Ladezeiten führt.
__get() und __set()

Zitat:
Performance-optimal wären wohl zwei Methoden, die genau nur die Werte aus der DB holen bzw zurückschreiben, die man manipulieren will. Wird allerdings etwas komplex, weil die SQL-Statements entsprechend manipuliert werden müssen. Hat das jemand zufälligerweise schon gelöst?
Also IMHO können bei einer Kunden oder Personenklasse ja nicht so viele und vor allem nicht so große Daten anfallen. Da macht es dann auch nichts aus, unveränderte Felde noch mal an die DB zu senden.

Generell ist es aber auch kein Problem mit ner kleinen foreach-schleife nur die geänderten Felder in die SQL-Query aufzunehmen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 28-07-2008, 16:23
Stonebreaker62
 Member
Links : Onlinestatus : Stonebreaker62 ist offline
Registriert seit: Apr 2005
Beiträge: 161
Stonebreaker62 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Herzlichen Dank für Eure Antworten und Anregungen, vor allem natürlich an TobiaZ. Meine Verunsicherung hinsichtlich der Anwendung von Klassen ist total weg.

Finde das Forum einfach genial.
Mit Zitat antworten
  #9 (permalink)  
Alt 28-07-2008, 16:26
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Finde das Forum einfach genial.
OffTopic:

Und wieder ein zufriedener Kunde. Wenn TobiaZ noch 3 mehr kriegt dann bekommt er das tolle Messerset mit dem man ALLES schneiden kann zum Vorzugspreis. Einfach mal bei Berni durchklingeln

__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #10 (permalink)  
Alt 28-07-2008, 16:33
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, dass ich nun deinen Thread mal mitnutze @ Stonebreaker62, aber es passt gerade hierzu

Ich hab ein ähnliches Problem und zwar hab ich ein Webftp geschrieben, der im Moment recht wenig Funktionen hat und eh überarbeitet werden muss.

Nun frag ich mich aber, ob es sinnvoll ist, dass ganze auf Klassen "umzuschreiben", weil es am ende ja wieder nur eine Sammlung von Funktionen wäre, die ich atm über get&switch aufrufe...

Also so wie die Sammlung von statischen Funktion zur Formularauswertung von Tobiaz^^

Wären dann zwar wohl 2 Klassen, 1x Ordner und 1x Files, wo alles recht statisch ist, aber anscheinend trotzdem sinnvoll?

mfg
Mit Zitat antworten
  #11 (permalink)  
Alt 28-07-2008, 16:45
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Also bezüglich WebFTP, so würde ich mir zumindest die Mühe machen und ne statische Klasse zu basteln, die kannst du in zukünftigen Projekten benötigen. Auch die FTP-Verbindung an sich, lässt sich sicher Wunderbar in einem Objekt new FTP(host, user, pass) abbilden. Ich würde es definitiv mal in Erwägung ziehen, wie gesagt, kannst du später sicher noch mal brauchen. Vorher mal gucken, ob PHP noch keine native Unterstützung (außer den FTP-Funktionen bietet.)

OffTopic:
@jah: ich glaub ich hab trotzdem ne negative Bilanz.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #12 (permalink)  
Alt 28-07-2008, 16:58
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay, danke.

Zur FTP-Verbindung: Die wird nicht benötigt. Das Script selber liegt ja auf dem Server und dann wird per Dateiupload von PHP und den normalen Ordner-auslese Funktionen etc. das ganze aufgebaut.

Ist eben häufig bei kostenlosen Webspace der Fall, der sich meist über Werbung im WebFTP usw. finanziert.

mfg
Mit Zitat antworten
  #13 (permalink)  
Alt 28-07-2008, 17:31
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zur FTP-Verbindung: Die wird nicht benötigt.
Ach so, ich dachte du hättest von webFTP gesprochen...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #14 (permalink)  
Alt 28-07-2008, 17:45
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann nimm das p weg^^..
Ich weiß nur, dass es bei den Anbietern so genannt wird ... vlt, damit man als neuer User einen bekannten Begriff findet^^...

Ansonsten nenn ich es nun Dateibrowser, womit man aber wohl anfangs nicht soviel anfangen kann, oder?

Aber die eigentliche Frage haste trotzdem gut beantwortet...

Nun brauchste nur noch 2 zufriedene Kunden für dein Messerset^^
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 00:00 Uhr.