Можно ли не использовать проверку на определение функции if function_exists?

12
Dmitriy_2014
На сайте с 01.07.2014
Offline
126
137

Всем привет!

Часто встречаю в коде шаблона проверку на то есть ли такая функция или нет в виде -

if(function_exists('func')) func();

перед её непосредственным вызовом, но что если я знаю точно какие плагины включены и какие функции есть, можно ли не использовать эту проверку, а вызывать функцию напрямую, даже если будет ошибка ничего ведь страшного, поправлю или уберу вызов этой функции.

Заранее всем спасибо за ответы!


22
На сайте с 01.10.2010
Offline
88
#1
Напрямую вызывать можно.
S
На сайте с 30.09.2016
Offline
459
#2
Dmitriy_2014 :
можно ли не использовать эту проверку
Можно. Разрешаю. И не только перед непосредственным вызовом.
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
S3
На сайте с 29.03.2012
Offline
222
#3
Dmitriy_2014 :
можно ли не использовать эту проверку,

Советую прочитать пару книг по алгоритмам программирования, архитектуре приложений - тогда такие вопросы вам даже в голову не придут

S
На сайте с 30.09.2016
Offline
459
#4
Много будешь читать – императором не станешь. (С)
foxi
На сайте с 02.03.2011
Offline
880
#5
Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется - увидите ошибки в браузере или в логах и поставите недостающую функцию.
Антибот защита для сайта (https://antibot.cloud/ru.html#searchengines) (защита от кражи контента и спама) | ВебМастерские микроблоги (https://wmsn.biz/#searchengines) | Фокси SEO форум (https://foxi.biz/#searchengines)
Dmitriy_2014
На сайте с 01.07.2014
Offline
126
#6
foxi #:
Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется - увидите ошибки в браузере или в логах и поставите недостающую функцию.

Так я вот и думаю, нужна ли эта проверка если я точно знаю, что эта функция работает и будет работать постоянно, зачем она… Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…

Было бы интересно узнать сильно ли напрягается интерпретатор при сравнении есть эта функция или нету этой функции. Ну то есть лучше вызывать напрямую или без разницы можно оставить и сравнение.
SeVlad
На сайте с 03.11.2008
Offline
1413
#7
Dmitriy_2014 #:
Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…

Это делается для того, чтобы функцию можно было переписать по своему, не трогая оригинальные файлы.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Топики помощи с ⓌordPress (https://searchengines.guru/ru/forum/1032910 ) и основы безопасности сайтов ( https://searchengines.guru/ru/forum/774117 ). *** Помощь\консультации в топиках форума - БЕСПЛАТНО. Платные услуги ( https://wp.me/P3YHjQ-3 ) - с бюджетом от 150$ ***
Dmitriy_2014
На сайте с 01.07.2014
Offline
126
#8

Я там вначале не досказал…

В целом о чем я:

Вот есть допустим плагин хлебных крошек для WordPress Breadcrumb NavXT, авторы говорят включи плагин и вставь в свой шаблон этот код:

<?php if(function_exists('bcn_display'))

{

bcn_display();

}?>

И будут у тебя хлебные крошки, ну это к примеру. Они рекомендуют выполнять эту проверку if function_exists.

Но я ведь и так знаю, что если плагин включен, то функция работает, собственно почему не вызывать её без проверки напрямую.

<?php bcn_display(); ?>
S
На сайте с 30.09.2016
Offline
459
#9
Dmitriy_2014 #:
знаю, что если плагин включен
Здесь ключевое слово "если". Походу, нихрена ты не понимаешь в алгоритмах разработки.
Dmitriy_2014
На сайте с 01.07.2014
Offline
126
#10
Sitealert #:
Здесь ключевое слово "если". Походу, нихрена ты не понимаешь в алгоритмах разработки.
Так я и не разработчик, я просто любитель, и да не шарю в алгоритмах, но знаешь ты походу прав создатели плагина то разработчики и шарят в алгоритмах и именно для этого делают эту проверку предостерегая недалеких пользователей таких как я, но по факту я думаю это лишняя проверка (Для меня.). Вы бы лучше подсказал сильно ли она влияет на скорость с ней или без неё?
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий