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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 12:50
1000 руб./в час
25 апр. 2024, в 12:23
2500 руб./за проект