Franz Wohlfahrt: Unterdrückung der Meldung bei fehlendem Parameter

Hallo,

ich rufe in PHP eine Funktion auf, die verschiedene Parameter übergibt
funktion(Para1, Para2, Para3);

Wenn nun der erste Parameter vergessen wird bekomme ich die standardmäßige Meldung eines fehlenden arguments ausgegeben was ja an sich gut ist. Nur würde ich diese lieber unterdrücken und eine eigene ausgeben.
Jemand eine Idee wie ich das lösen kann?

Besten Dank,
Franz

  1. Moin!

    Wenn nun der erste Parameter vergessen wird bekomme ich die standardmäßige Meldung eines fehlenden arguments ausgegeben was ja an sich gut ist. Nur würde ich diese lieber unterdrücken und eine eigene ausgeben.
    Jemand eine Idee wie ich das lösen kann?

    Ja. Du kannst den Argumenten Defaultwerte zuweisen.
    http://de2.php.net/functions.arguments -> "Vorgabewerte für Parameter"

    Dort setzt Du Werte an, die mit Sicherheit nicht übergeben werden (z.B. FALSE (boleanscher Wert)).
    Auf diese kannst Du prüfen und eignene Fehlermeldungen generieren.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  2. hi,

    schau dir http://www.php.net/manual/de/functions.arguments.php an, vorgabewerte für parameter könnten dir helfen.

    oder du machst die funktion gleich so, dass sie mit einer variablen anzahl von parametern umgehen kann, http://www.php.net/manual/de/functions.arguments.php#functions.variable-arg-list.

    gruss,
    wahsaga

  3. Sup!

    Jemand eine Idee wie ich das lösen kann?

    Wenn PHP mittlerweile sehr objektorientiert ist, könntest Du noch eine Funktion mit zwei Parametern mit gleichem Namen machen, die dann den Fehler ausgibt... aber ich denke fast, das geht nicht.

    Du könntest aber auch eine Funktion mit variabler Parameterzahl versuchen, statt drei Variablen einen Zeiger auf eine Liste von Variablen übergeben, dann merkt die Funktion selbst, wenn ein Parameter fehlt.

    Gruesse,

    Bio

    --
    Für sein Verhalten sollte man sich nur entschuldigen, wenn man vorhat, es zu ändern.
  4. Hallo,

    ich rufe in PHP eine Funktion auf, die verschiedene Parameter übergibt
    funktion(Para1, Para2, Para3);

    Warum übergibst Du nicht alle Parameter?

    Du könntest die Parameter ja auch als Array übergeben. Das "Auflösen" des Arrays als auch Prüfung der Werte (ob vorhanden) innerhalb der Funktion ist doch wirklich nicht allzu schwer.

    Gruss

    Frankie