Что означает @ в строке PHP? (Не оператор подавления ошибок) [дубликат]


Возможный Дубликат:
@ ( при входе) в drupal

Я знаю, что иногда это связано с подавлением ошибок, но я смотрю на код Drupal и не могу распознать синтаксис:

Пример 1:

$batch = array(
'operations' => $operations,
'finished' => '_install_profile_batch_finished',
'title' => st('Installing @drupal', array('@drupal' => drupal_install_profile_name())),
'error_message' => st('The installation has encountered an error.'),
);

Пример 2:

drupal_set_title(st('@drupal installation complete', array('@drupal' => drupal_install_profile_name())));

Пример 3:

$output .= '<p>'. (isset($messages['error']) ? st('Please review the messages above before continuing on to <a href="@url">your new site</a>.', array('@url' => url(''))) : st('You may now visit <a href="@url">your new site</a>.', array('@url' => url('')))) .'</p>';
 3
Author: Community, 2010-10-13

3 answers

Это связано не с php, а с drupal. @drupal - переменная, используемая механизмом шаблонов, используемым drupal.

 9
Author: Femaref, 2010-10-12 20:51:25

Это специфично для Drupal, это означает, что переменная запускается через check_plain, которая экранирует символы HTML ( Соответствующая документация по API Drupal).

Функции t() и st() используются для переводимых строк.

 2
Author: Mad Scientist, 2010-10-12 20:55:00

Это часть движка шаблонов drupal. Это флаг для переменной замены.

 0
Author: CrazyDart, 2010-10-12 21:04:38