Drupal字符串中的@(at符号)

Lin*_*nda 2 drupal

在另一个问题中,有人在回答我的问题时发布了这段代码.

drupal_set_message(
  t('Some Message @title'), array('@title' => $form_state['values']['title']))
);
Run Code Online (Sandbox Code Playgroud)

在我看来,"@title"被替换为$form_state['values']['title'].

这叫什么,有什么优点和缺点?

从快速浏览看,我看到@用于错误抑制,但这是在PHP 4.3的书中报告的,而不是PHP 5.

小智 5

在Drupal中,@占位符前面的符号用于向Drupal的字符串解析器发出信号,以运行附加到占位符的字符串check_plain().

有关字符串占位符的更多信息可以在t()API页面上找到.