Sitealert#: Здесь ключевое слово "если". Походу, нихрена ты не понимаешь в алгоритмах разработки.
Так я и не разработчик, я просто любитель, и да не шарю в алгоритмах, но знаешь ты походу прав создатели плагина то разработчики и шарят в алгоритмах и именно для этого делают эту проверку предостерегая недалеких пользователей таких как я, но по факту я думаю это лишняя проверка (Для меня.). Вы бы лучше подсказал сильно ли она влияет на скорость с ней или без неё?
foxi#: Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется - увидите ошибки в браузере или в логах и поставите недостающую функцию.
Так я вот и думаю, нужна ли эта проверка если я точно знаю, что эта функция работает и будет работать постоянно, зачем она… Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…
Было бы интересно узнать сильно ли напрягается интерпретатор при сравнении есть эта функция или нету этой функции. Ну то есть лучше вызывать напрямую или без разницы можно оставить и сравнение.
Не не я не про альтернативные теги PHP типа там короткий echo-тег <?= или открывающий короткий тег <? и т.п.
Я хотел спросить про альтернативный синтаксис у некоторых управляющих конструкций типа if и как бы было бы быстрее.
<?php if (is_single()) : ?>
<?php ?>
<p><?php the_author_posts_link(); ?></p>
<div></div>
/*
Куча HTML тегов и вставок PHP с отступами, лишними строками и всякой фигней...
*/
<?php endif; ?>
Вот про двоеточие : и endif как я понимаю все что между ними попадает в исходный код страницы, включая отступы, лишние строки и т.п.
ИЛИ
Как в шаблоне Twenty Twenty 1.0 (кусочек):
<?php
wp_link_pages(
array(
'before' => '<nav class="post-nav-links bg-light-background" aria-label="' . esc_attr__( 'Page', 'twentytwenty' ) . '"><span class="label">' . __( 'Pages:', 'twentytwenty' ) . '</span>',
'after' => '</nav>',
'link_before' => '<span class="page-number">',
'link_after' => '</span>',
)
);
edit_post_link();
// Single bottom post meta.
twentytwenty_the_post_meta( get_the_ID(), 'single-bottom' );
if ( post_type_supports( get_post_type( get_the_ID() ), 'author' ) && is_single() ) {
get_template_part( 'template-parts/entry-author-bio' );
}
?>
Нужно ответ заверить у нотариуса, чтобы вы не повторяли свои вопросы?
Здесь ключевое слово "если". Походу, нихрена ты не понимаешь в алгоритмах разработки.
Я там вначале не досказал…
В целом о чем я:
Вот есть допустим плагин хлебных крошек для WordPress Breadcrumb NavXT, авторы говорят включи плагин и вставь в свой шаблон этот код:
<?php if(function_exists('bcn_display'))
{
bcn_display();
}?>
И будут у тебя хлебные крошки, ну это к примеру. Они рекомендуют выполнять эту проверку if function_exists.
Но я ведь и так знаю, что если плагин включен, то функция работает, собственно почему не вызывать её без проверки напрямую.
Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется - увидите ошибки в браузере или в логах и поставите недостающую функцию.
Так я вот и думаю, нужна ли эта проверка если я точно знаю, что эта функция работает и будет работать постоянно, зачем она… Мне кажется это делают разработчики тем и шаблонов чтобы если чё не было ошибки и функция просто не вызывалась, но мне это зачем если я точно знаю, что и зачем вызываю текущей функцией…
Было бы интересно узнать сильно ли напрягается интерпретатор при сравнении есть эта функция или нету этой функции. Ну то есть лучше вызывать напрямую или без разницы можно оставить и сравнение.Да, все будет работать.
Будет при условии проксирования на Apache.
Просто покажите конфигурацию NGINX блок server { } , замените адрес сайта, если не хотите его здесь палить.
server {server_name site.ru www.site.ru;
listen XXX.XX.XX.XX;
charset UTF8;
index index.php;
set $root_path /var/www/www/site.ru;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
access_log /var/nginx-logs/user isp;
access_log /var/httpd-logs/site.ru.access.log ;
error_page 404 = @fallback;
}
location / {
proxy_pass http://XXX.XX.XX.XX:8080;
proxy_redirect http://XXX.XX.XX.XX:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
proxy_pass http://XXX.XX.XX.XX:8080;
proxy_redirect http://XXX.XX.XX.XX:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://XXX.XX.XX.XX:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ^~ /webstat/ {
auth_basic "Restricted area";
auth_basic_user_file /var/www/user/data/etc/5126789.passwd;
try_files $uri @fallback;
}
include /usr/local/ispmgr/etc/nginx.inc;
}
Как я понимаю раз много слов proxy есть в конфиге :), значит он проксируется на Апач.
Оставьте у апача только HTTP-порт и проксируйте на него, никаких 443 портов в конфиге апача быть не должно.
Да установите себе уже панель, хоть бесплатную VestaCP или уж лучше FastPanel и ничего не надо делать и задавать уж такие вопросы.
Не придётся, если nginx будет принимать запросы, раздавать статику, а скрипты перенаправлять на apache.
Так тут то я и не понимаю, когда я допустим подключаю сертификаты и делаю поддержку SSL в NGINX:
server {
listen 443 ssl;
server_name xxx.ru;
ssl_certificate /etc/ssl/xxx.crt;
ssl_certificate_key /etc/ssl/xxx.key;
}
Перезагружаю сервер NGINX и он пишет - что ошибка и не запускается ну т.к. как я понял занят 443 порт и на нем работает Apache.
Так если я уберу работу Apache то файлы .htaccess не будут работать, и нужно будет настраивать все что там в nginx.conf, так я это понимаю.