Рефакторинг: избавление от необязательной переменной для функции - PullRequest
0 голосов
/ 06 октября 2010

Вот ситуация;ниже приведен фрагмент кода PHP, который часто используется повторно.

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
}

Я хочу инкапсулировать это в функцию, похожую на

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

Проблема здесь такова;параметр $ id необходим только при визуализации формы.При обработке формы после пользовательского ввода или через обработчик AJAX мне вообще не нужен $ id.

Как я могу рефакторинг, чтобы избавиться от необязательной переменной $ id?

1 Ответ

0 голосов
/ 06 октября 2010

Необязательные параметры в PHP работают примерно так

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