使用drupal_set_message显示变量内容

时间:2017-01-06 00:54:35

标签: php drupal

这可能是一个愚蠢的问题,但我是Drupal中PHP编码的新手。我正在尝试构建一个Drupal 8模块。

如何在调试时使用drupal_set_message和\ Drupal :: logger显示变量的内容。

以下代码不起作用:

drupal_set_message('inside emailremider_mail $key');

\Drupal::logger('emailreminder')->notice('hook_mail @message %key :params'); 

2 个答案:

答案 0 :(得分:1)

使用drupal_set_message的@Sam Stamport可以显示变量或数组的内容。 变量: drupal_set_message('inside emailremider_mail'. $key);

数组: drupal_set_message(print_r($_SESSION, true));

\ Drupal :: logger也可用于显示变量

    // Logs a notice
    \Drupal::logger('my_module')->notice($message);
    // Logs an error
    \Drupal::logger('my_module')->error($message);

有关详细信息,请使用以下链接

https://www.drupal.org/docs/8/api/logging-api

希望它对你有用。

答案 1 :(得分:0)

在Drupal 7中使用

drupal_set_message('<pre>' . print_r($output, true) . '</pre>');

在Drupal 8中使用

$rendered_message = \Drupal\Core\Render\Markup::create('<pre>' . print_r($output, true) . '</pre>');
drupal_set_message($rendered_message);