Теги DateTime класса PHP открытия / закрытия

Я следую некоторым урокам и наткнулся на то, что, кажется, не могу обернуться. В поисках обоснования или значения этого.

Просто тренируясь с классом 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>"

0

Решение

<?= это стенография PHP echo утверждение, по сути смысл <?php echo(...

Обратите внимание, что этот тег не путать с коротким открытым тегом: <? — это совершенно другой оператор, и, начиная с PHP 5.4, «короткий эхо-тег» фактически не зависит от short_open_tag установка:
http://php.net/manual/en/language.basic-syntax.phptags.php

2

Другие решения

Так <?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>"
1

По вопросам рекламы [email protected]