delphi overload auch für php

  • geschlossen

  • corema
  • 1125 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • delphi overload auch für php

    hey ho
    wieder ne frage^^
    ich habe eine klasse. bei der hätte ich gern 2 unterschiedlich constructor

    PHP-Quellcode

    1. class convertor{
    2. public function __construct($type) {
    3. echo 'sag lol';
    4. }
    5. public function __construct($file, $style) {
    6. echo 'sag rofl'
    7. }
    8. }

    das geht nactürlich nicht so wies da steht da __construct redeklariert wird. bei delphi eht das mit overload:

    Quellcode

    1. private
    2. constructor create(a:string;b:integer); overload;
    3. 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

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von corema ()

  • 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
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • 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

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von corema ()

  • Warum nicht einfach

    Quellcode

    1. __construct($im,$imTpl='default') {
    2. $content = file_get_contents($imTpl);
    3. }

    oder

    Quellcode

    1. __construct($im,$imMode=0) {
    2. switch($mode) {
    3. case .....
    4. }
    5. }


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

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • 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

    Quellcode

    1. __construct($file,$style) overload; //delphi syntax{
    2. //convertieren
    3. }
    4. __construct($template) overload; //delphi syntax{
    5. //template
    6. }

    so dass anhand der anzahl an variablen zwischen den functionen unterscheiden wird

    das geht heut aber flott^^