Dmitriy_2014

Dmitriy_2014
Рейтинг
370
Регистрация
01.07.2014
Интересы
Веб-технологии
2on2 #:

<?php if ( is_author() || is_category() || is_search() || is_tag() || is_archive() ) { ?>

<div class="excerpt"><?php the_excerpt(); ?></div>

<?php } else { ?>

<div class="content"><?php the_content(''); ?></div>

<?php } ?>

Интересный вариант, так значит пять открывающих и закрывающих тегов PHP выгоднее чем использование echo, но в одном открывающимся и закрывающимся PHP теге?
Sitealert #:

Опять повторю то, что уже написал, потому что ты так нихрена и не понял, даже на 8-й странице обсуждения:

Ты путаешь тёплое с мягким.

Альтернативный синтаксис не имеет никакого отношений к твоему echo. Это разные темы.

Да причем тут я, если он так официально называется в документации?

Альтернативный синтаксис управляющих структур

https://www.php.net/manual/ru/control-structures.alternative-syntax.php

Так без echo в скобочках просто так разметку html не вставишь.

На правах так сказать задавателя вопроса :)

Ребята ответьте просто чтобы вы выбрали:

Без скобочек:

<?php if ( is_author() || is_category() || is_search() || is_tag() || is_archive() ) : ?>

<div class="excerpt"><?php the_excerpt(); ?></div>

<?php else : ?>

<div class="content"><?php the_content(''); ?></div>

<?php endif; ?>

ИЛИ

Со скобочками и echo:

<?php if ( is_author() || is_category() || is_search() || is_tag() || is_archive() ) {

echo '<div class="excerpt">';the_excerpt();echo '</div>';

} else {

echo '<div class="content">';the_content('');echo '</div>';

} ?>

Или это вообще без разницы, но без скобочек я заметил, что в код попадают отступы, хотя может это и не точно. Сайт у меня на WordPress.

Я там не указал, речь идет о теме/шаблоне для WordPress, мой уровень еле-еле редактирую шаблон в WordPress :) ( Чайник ). Но было бы интересно узнать про скобочки {} вместо if : / andif.

Работает и ладно это 100% мой подход :) при любых раскладах, но может со скобочками быстрее будет если переписать…
Немного неудачный пример с кодом из Twenty Twenty, но надеюсь вы поняли, меньше открывающих и закрывающих тегов <?php ?>, но в моем случае будет много echo

Не не я не про альтернативные теги 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' );


}

?> 

Или вот лучше все чтоб одним PHP блоком было например как кусочек из шаблона Twenty Twenty.
2on2 #:
Нужно ответ заверить у нотариуса, чтобы вы не повторяли свои вопросы?
Не надо ни у кого ничего заверять :-), я все понял, спасибо!
Sitealert #:
Здесь ключевое слово "если". Походу, нихрена ты не понимаешь в алгоритмах разработки.
Так я и не разработчик, я просто любитель, и да не шарю в алгоритмах, но знаешь ты походу прав создатели плагина то разработчики и шарят в алгоритмах и именно для этого делают эту проверку предостерегая недалеких пользователей таких как я, но по факту я думаю это лишняя проверка (Для меня.). Вы бы лучше подсказал сильно ли она влияет на скорость с ней или без неё?

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

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

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

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

{

bcn_display();

}?>

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

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

<?php bcn_display(); ?>
foxi #:
Если знаете что функция есть то проверять ее не обязательно. А если ее вдруг не окажется - увидите ошибки в браузере или в логах и поставите недостающую функцию.

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

Было бы интересно узнать сильно ли напрягается интерпретатор при сравнении есть эта функция или нету этой функции. Ну то есть лучше вызывать напрямую или без разницы можно оставить и сравнение.
Всего: 2034