@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) {
   ...
  }
}

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

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

Войти через центр авторизации
Похожие вопросы