delphi overload auch für php geschlossen 

Status
Für weitere Antworten geschlossen.

corema

Registered +
Registriert
Mai 2008
Beiträge
397
hey ho
wieder ne frage^^
ich habe eine klasse. bei der hätte ich gern 2 unterschiedlich constructor
PHP:
class convertor{
public function __construct($type) {
echo 'sag lol';
}
public function __construct($file, $style) {
echo 'sag rofl'
}
}
das geht nactürlich nicht so wies da steht da __construct redeklariert wird. bei delphi eht das mit overload:
Code:
private
constructor create(a:string;b:integer); overload;
constructor create(b:integer); overload;
hier kann man 2 verschiedene proceduren aufrufen, die anhand des aufrufes unterschieden werden.
geht so was auch mit php?

mfg corema
 
Zuletzt bearbeitet von einem Moderator:
Hmm, das fällt doch bei PHP weg, da man keine Typendeklaration bei den Argumenten angeben muss und man auch optionale Angaben machen kann.

Was willst du denn vereinfachen, vielleicht verstehe ich dann den Zusammenhang.

Gruß
Broken Sword
 
ich bin hier noch bei.
ich habe mir eine klasse names converter erstellt, die ein bild zu text umwandeln kann, wenn sie aufgerufen wird ($con = new converter($im)).
jetzt hatte ich mir gedacht: "mensch... wäre doch super, wenn diese klasse auch das template für den konverter beinhaltet"
das wollte ich halt über den aufruf von verschieden contrucor realisieren, aber wenn das nich möglich ist, muss ich mir da mal was anderes einfallen lassen

EDIT: mir ist grad eine lösung beim tippen eingefallen^^
ich kann ja auch einfach das konvertieren aus dem contrucor nehmen und in eine public-function reinsetzen...
das template kommt dann ebenfalls in eine public-function
 
Zuletzt bearbeitet von einem Moderator:
Warum nicht einfach
Code:
__construct($im,$imTpl='default') {
$content = file_get_contents($imTpl);
}
oder
Code:
__construct($im,$imMode=0) {
switch($mode) {
case .....
}
}

Verstehe nicht, wie du das hättest mit "overload;" anders machen können.

Gruß
Broken Sword
 
hier noch die änderung aus meiner alten post^^
EDIT: mir ist grad eine lösung beim tippen eingefallen^^
ich kann ja auch einfach das konvertieren aus dem contrucor nehmen und in eine public-function reinsetzen...
das template kommt dann ebenfalls in eine public-function
ich hatte schlechte erfahrung mit der mode-version gemacht(mit viel aufwand bei änderung und so)
mit overload hätt ich das so gemacht
Code:
__construct($file,$style) overload; //delphi syntax{ 
//convertieren
}
__construct($template) overload; //delphi syntax{
//template
}
so dass anhand der anzahl an variablen zwischen den functionen unterscheiden wird

das geht heut aber flott^^
 
Versteh ich zwar trotzdem nicht, aber solange du einen Erfolg erlebt hast, gut => Closed ^^

Gruß
Broken Sword
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Zurück
Oben Unten