Я следую некоторым урокам и наткнулся на то, что, кажется, не могу обернуться. В поисках обоснования или значения этого.
Просто тренируясь с классом DateTime, я наткнулся на этот код и попробовал его. Код не даст мне вывод при использовании.
<?php
это дает мне выход при использовании.
<?=
Я читал об этом виде нотации в PHP, и сейчас это больше личное предпочтение. Тем не менее, рекомендуется использовать стандартные теги открытия / закрытия из-за старых версий PHP, которые не способны понять новые теги.
Итак, мой вопрос вкратце: почему класс DateTime в операторе echo принимает только <?= ?>
этот тег, чтобы показать мне какой-то вывод.
<?php
$publishDate = '2014-08-24 09:14:00';
$localDateTime = new DateTime($publishDate, new DateTimeZone('America/New_York'));
$utcDateTime = clone $localDateTime;
$utcDateTime->setTimeZone(new DateTimeZone('UTC'));
?>
<p>The UTC date/time is: <?= $utcDateTime->format("Y-m-d H:i:s") ?></p>
<p>The New York date/time is: <?= $localDateTime->format("Y-m-d H:i:s") ?></p>"
<?=
это стенография PHP echo
утверждение, по сути смысл <?php echo(...
Обратите внимание, что этот тег не путать с коротким открытым тегом: <?
— это совершенно другой оператор, и, начиная с PHP 5.4, «короткий эхо-тег» фактически не зависит от short_open_tag
установка:
http://php.net/manual/en/language.basic-syntax.phptags.php
Так <?php
а также <?=
две разные вещи, последний является сокращением, которое также использует echo
если вы хотите добиться того же с <?php
вы бы сделали что-то вроде:
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s');
Или в вашем примере:
<p>The UTC date/time is: <?php echo $utcDateTime->format("Y-m-d H:i:s") ?></p>
<p>The New York date/time is: <?php echo $localDateTime->format("Y-m-d H:i:s") ?></p>"