2010-10-06 12 views
0

Voici la situation; ci-dessous est un morceau de code PHP qui est fréquemment réutilisé.Refactorisation: Suppression d'une variable optionnelle pour une fonction

if (! isset($_REQUEST['process_form']) 
{ 
    // render form 
    echo "<form>"; 
    // snipped 

    // important bit! Remember which id we are processing 
    echo "<input hidden='id' value='$id'>"; 

    // snipped 
} else { 
    // process the form 
} 

Je souhaite résumer cela en une fonction semblable à

class ProcessForm() { 
    function execute(array $request, $id) { }; 
    } 

La question est ici; le paramètre $ id est seulement nécessaire lors du rendu du formulaire. Lors du traitement du formulaire après une entrée utilisateur ou via un gestionnaire AJAX, je n'ai pas besoin du $ id du tout.

Comment refactoriser pour me débarrasser de la variable optionnelle $ id?

+0

* (liés) * [Qu'est-ce qui ne va pas à l'utilisation '_REQUEST' $] (http://stackoverflow.com/questions/2142497/whats-wrong-with -using-request) – Gordon

+0

D'où c'est pourquoi je refactorise. La fonction d'exécution de ProcessForm prend dans un tableau générique, pas nécessaire $ _REQUEST – Extrakun

Répondre

0

Les paramètres facultatifs en PHP fonctionne comme si

function example($id = NULL) 
{ 
    if(is_null($id)) 
     echo '$id was omitted'; 
}