@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=""
	 />';
  }
}
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 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) {
   ...
  }
}

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

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

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