2016-11-09 4 views
1

Wie können wir eine dynamische Funktion mit 2 oder 3 Argumente definieren. wenn wir eine Funktion wie diese haben zum Beispiel:PHP Optional Dynamische Funktionen Argumente

function required($value, $fieldname){}; 

und eine andere Funktion wie:

function min($value, $fieldname, $min){}; 

und sie sind beide dynamisch, so dass wir wissen nicht, welche aufgerufen wird, wie können wir Definieren Sie eine dynamische Methode, um beide Situationen zu behandeln! Wir können, wenn sonst wie folgt verwenden:

if(isset($min)) 
{ 
    return $functionName($value, $fieldname, $min); 
} else { 
    return $functionName($value, $fieldname); 
} 

Aber gibt es einen anderen Weg in PHP, damit umzugehen? (Ohne Bedingungen verwenden)

+0

'Funktion erforderlich ($ value = null, $ feldname = null, $ min = null) {};' – Blinkydamo

+0

ist es genug? Weil ich kein drittes Argument in der erforderlichen Funktion brauche? –

+0

@Blinkydamo ist korrekt, aber ich würde nur das letzte Argument einen Standardwert geben, da die Funktion wahrscheinlich nicht ohne Argumente macht. – bassxzero

Antwort

0

Option ist die optionale PARA auf null setzen:

function required($value, $fieldname, $min = null){}; 

Wie bereits erwähnt auch könnten Sie Ihre Funktion ein wenig verändern und übergeben ein Array

$array = array('value' => 'value', 'min' => 'min'); 
function required($array); 

innen Dann Ihre Funktion:

extract($array); 
if(isset($value)) 
{ 
    // Process 
} 

Wiederholen Sie für alle erwarteten Parameter.

+0

sehr hilfreich, danke. –