За последние 24 часа нас посетили 20105 программистов и 1083 робота. Сейчас ищут 696 программистов ...

Вопрос по function_exists

Тема в разделе "PHP для новичков", создана пользователем Yankovitz, 20 июн 2018.

  1. Yankovitz

    Yankovitz Активный пользователь

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Добрый день. Вопрос такого рода. Неоднократно видел подобный php код.
    Это вообще best practic?
    PHP:
    1. if ( !function_exists('pagination') ) {
    2.     function pagination() {
    3.        // что-то делаем
    4.     }
    5. }
    Я не совсем понимаю использование в этом случае function_exists. Насколько я знаю, здесь условие, если pagination нет в списке определенных функций, то объявляем. Почему тогда бы просто не создать какое-либо уникальное имя функции? Или. Разве во время тестирования кода интерпретатор не просигнализирует об ошибке, которую можно сразу отладить? Зачем городить условия?
    Объясните пожалуйста
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    Ну иногда так делают полифилы для стандартных функций для обратной совместимости. А так, вдруг ты случайно два раза этот файл включишь или ещё что-нибудь в этом роде. Лично я считаю, что использовать это для чего-то, кроме полифилов, говнокод. Надо знать, где у тебя в проекте что подключается и зачем
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    например в одной версии php есть функция, в другой нет - чтоб все не поломалось создаешь с таким же именем и принимающая такие же аргументы, отдающая такой-же результат, еще часто бывает при проверке расширений, например mb_srting, imagick - где подключены - используем их, где нет - можно написать свой велосипед на нативном php - а а остальной код затрагивать не нужно