Можно ли не использовать проверку на определение функции if function_exists?
Dmitriy_2014
153
Всем привет!
Часто встречаю в коде шаблона проверку на то есть ли такая функция или нет в виде —
if(function_exists(‘func‘)) func();
перед её непосредственным вызовом, но что если я знаю точно какие плагины включены и какие функции есть, можно ли не использовать эту проверку, а вызывать функцию напрямую, даже если будет ошибка ничего ведь страшного, поправлю или уберу вызов этой функции.
Заранее всем спасибо за ответы!
Sergei Ermilov
Напрямую вызывать можно.
Sitealert
Dmitriy_2014 : можно ли не использовать эту проверку
Можно. Разрешаю. И не только перед непосредственным вызовом.
Sly32
Dmitriy_2014 : можно ли не использовать эту проверку,
Советую прочитать пару книг по алгоритмам программирования, архитектуре приложений — тогда такие вопросы вам даже в голову не придут
Sitealert
Много будешь читать – императором не станешь. (С)
Mik Foxi
Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется — увидите ошибки в браузере или в логах и поставите недостающую функцию.
Dmitriy_2014
foxi #: Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется — увидите ошибки в браузере или в логах и поставите недостающую функцию.
Так я вот и думаю, нужна ли эта проверка если я точно знаю, что эта функция работает и будет работать постоянно, зачем она… Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…
Было бы интересно узнать сильно ли напрягается интерпретатор при сравнении есть эта функция или нету этой функции. Ну то есть лучше вызывать напрямую или без разницы можно оставить и сравнение.
SeVlad
Dmitriy_2014 #: Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…
Это делается для того, чтобы функцию можно было переписать по своему, не трогая оригинальные файлы.
Dmitriy_2014
Я там вначале не досказал…
В целом о чем я:
Вот есть допустим плагин хлебных крошек для WordPressBreadcrumb NavXT, авторы говорят включи плагин и вставь в свой шаблон этот код:
<?php if(function_exists(‘bcn_display’))
{
bcn_display();
}?>
И будут у тебя хлебные крошки, ну это к примеру. Они рекомендуют выполнять эту проверку iffunction_exists.
Но я ведь и так знаю, что если плагин включен, то функция работает, собственно почему не вызывать её без проверки напрямую.
<?phpbcn_display(); ?>
Sitealert
Dmitriy_2014 #: знаю, что если плагин включен
Здесь ключевое слово «если». Походу, нихрена ты не понимаешь в алгоритмах разработки.
Dmitriy_2014
Sitealert #: Здесь ключевое слово «если». Походу, нихрена ты не понимаешь в алгоритмах разработки.
Так я и не разработчик, я просто любитель, и да не шарю в алгоритмах, но знаешь ты походу прав создатели плагина то разработчики и шарят в алгоритмах и именно для этого делают эту проверку предостерегая недалеких пользователей таких как я, но по факту я думаю это лишняя проверка (Для меня.). Вы бы лучше подсказал сильно ли она влияет на скорость с ней или без неё?
Dmitriy_2014
Всем привет!
Часто встречаю в коде шаблона проверку на то есть ли такая функция или нет в виде —
if(function_exists(‘func‘)) func();
перед её непосредственным вызовом, но что если я знаю точно какие плагины включены и какие функции есть, можно ли не использовать эту проверку, а вызывать функцию напрямую, даже если будет ошибка ничего ведь страшного, поправлю или уберу вызов этой функции.
Заранее всем спасибо за ответы!
Sergei Ermilov
Sitealert
можно ли не использовать эту проверку
Можно. Разрешаю. И не только перед непосредственным вызовом.
Sly32
можно ли не использовать эту проверку,
Советую прочитать пару книг по алгоритмам программирования, архитектуре приложений — тогда такие вопросы вам даже в голову не придут
Sitealert
Mik Foxi
Dmitriy_2014
Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется — увидите ошибки в браузере или в логах и поставите недостающую функцию.
Так я вот и думаю, нужна ли эта проверка если я точно знаю, что эта функция работает и будет работать постоянно, зачем она… Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…
Было бы интересно узнать сильно ли напрягается интерпретатор при сравнении есть эта функция или нету этой функции. Ну то есть лучше вызывать напрямую или без разницы можно оставить и сравнение.
SeVlad
Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…
Это делается для того, чтобы функцию можно было переписать по своему, не трогая оригинальные файлы.
Dmitriy_2014
Я там вначале не досказал…
В целом о чем я:
Вот есть допустим плагин хлебных крошек для WordPress Breadcrumb NavXT, авторы говорят включи плагин и вставь в свой шаблон этот код:
<?php if(function_exists(‘bcn_display’))
{
bcn_display();
}?>
И будут у тебя хлебные крошки, ну это к примеру. Они рекомендуют выполнять эту проверку if function_exists.
Но я ведь и так знаю, что если плагин включен, то функция работает, собственно почему не вызывать её без проверки напрямую.
Sitealert
знаю, что если плагин включен
Здесь ключевое слово «если». Походу, нихрена ты не понимаешь в алгоритмах разработки.
Dmitriy_2014
Здесь ключевое слово «если». Походу, нихрена ты не понимаешь в алгоритмах разработки.
Так я и не разработчик, я просто любитель, и да не шарю в алгоритмах, но знаешь ты походу прав создатели плагина то разработчики и шарят в алгоритмах и именно для этого делают эту проверку предостерегая недалеких пользователей таких как я, но по факту я думаю это лишняя проверка (Для меня.). Вы бы лучше подсказал сильно ли она влияет на скорость с ней или без неё?