@m4son

Как в php сделать много однотипных функций?

// список полей в секции контактов
  $contacts_fields = array(
    "site_telephone_2" => "телефон 2",
    "site_email_2"     => "почта 2",
  );

// создание функций
foreach ( $contacts_fields as $field_id => $field_name ) {
  $function_name = "text_callback_function" . $field_id;
  function $function_name() {    // !!!!!!!!!! вот тут ошибка !!!!!!!!!!!
    echo '<input 
		name="' . $field_id . '" 
    id="' . $field_id . '"
		type="text" 
		value="' . esc_attr( get_option( $field_id ) ) . '" 
		class=""
	 />';
  }
}
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
$contacts_fields = array(
    "site_telephone_2" => ['value' => "телефон 2", 'type' => 'phone'],
    "site_email_2"     => ['value' => "почта 2", 'type' => 'email'],
);

function decorator($name, $value, $type) {
  switch($type) {
   ...
  }
}

Примерно по такой логике можно сделать довольно универсальный класс, который потом позволит программировать любые формы декларативно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы