Вы можете увидеть этот пример .
// Is this element visible onscreen?
var visible = $(#element).visible( detectPartial );
detectPartial:
visible
- логическая переменная, которая указывает, является ли элемент видимым или нет.
<?
и <?=
называются короткими открытыми тегами и не всегда включены (см. директиву short_open_tag
) с PHP 5.3 или ниже (но с PHP 5.4.0, <?=
всегда доступен.
На самом деле, в файле php.ini-production, поставляемом с PHP 5.3.0, они по умолчанию отключены:
$ grep 'short_open' php.ini-production
; short_open_tag
short_open_tag = Off
Итак, используя их в приложении, которое вы хотите распространять, может не быть хорошей идеей: ваше приложение не будет работать, если оно не включено.
<?php
, с другой стороны, не может быть отключено - так что это безопаснее всего использовать этот, даже если он длиннее для записи.
За исключением того факта, что короткие открытые теги не обязательно включены, я не думаю, что есть большая разница.
Эхо обычно лучше использовать, потому что ...
Но они, как правило, одинаковы. См. Также:
<?=
намного приятнее, чем <?php echo
– mpen
6 September 2009 в 21:31
Помимо всей полурелигиозной дискуссии о том, являются ли короткие теги или нет, хорошая идея и следует ли считать ее устаревшей, первоначальный вопрос заключался в том, насколько безопасными или небезопасными они будут использоваться.
Проще говоря, если вы используете короткие теги на сервере, который их не поддерживает, могут быть обнаружены части вашего кода PHP, которые можно считать уязвимостью безопасности.
Просто для объявления другого источника PSR: http://www.php-fig.org/psr/psr-1/
PHP-код ДОЛЖЕН использовать длинные теги или теги с коротким эхом; он НЕ ДОЛЖЕН использовать другие варианты тегов.
blockquote>с указанием:
<?php ?> and <?= ?>
Вы должны использовать & lt; \? = и попросить ваш sysadmin / host включить short_open_tags, у него нет каких-либо минусов, которые нужно отключить, а также нет замедления, синтаксический анализатор ищет & л; \? так же, как он ищет & lt; \? php внутри индекса, бинарный поиск (возможно,
Кроме того, уже на PHP 5.5 & lt; \? = будет включен по умолчанию и в долгосрочной перспективе & lt; \? = будет предпочтительнее, в то время как & lt; \? php echo semi debrecated.
Если еще не до конца ... Немного поискового запроса помогает много = D
http://php.net/manual/en/language.basic-syntax.phpmode.php состояния:
Начиная с PHP 5.4, короткое эхо тег всегда распознается и действителен независимо от настройки
blockquote>short_open_tag
.
short_open_tag
Выключить или включить больше не имеет значения.Итак, теперь вы можете, без проблем, добавьте теги, подобные этому в ваших шаблонах:
<?= (($test) ? "val1" : "val2") ?>
Официально сейчас, «короткий тег эха» - это нечто совсем иное, чем «короткий тег».
Итак, почему бы не просто удалить параметр, чтобы отключить короткий открытый тег и позволить ему быть включен по умолчанию.
Это ОЧЕНЬ опасный шаг PHP. Причина в том, что если вы наделите существующий код короткими тегами на нем на сервере PHP6, и кто-то просмотрит эту страницу, они получат исходный код, загруженный в свой браузер, который вы можете просмотреть. Это может серьезно убить PHP.