web-dev-qa-db-ja.com

dpm()とdsm()の違いは何ですか?

dpm()dsm() の違いは何ですか?

26
markdorison

dpm()は、drupal_set_message()を使用して、ページの「メッセージ」領域に変数を出力します。出力とコンパクトで、ページのレイアウトを壊す可能性が低くなります。

開発ドキュメントから:

Develモジュールからのメモ:dsm()は、名前が不十分なレガシー関数です。 'p'は 'print_r'にマップされるため、代わりにdpm()を使用してください。

私たちはそれについて開発者を信頼すべきだと思います。

35
friendlydrupal

dsm() はレガシー関数です。 dpm() をそのまま呼び出すので、dpm()を使用する必要があります。

6
Nikit

drupal_set_message() はDrupal次のページビューに出力されるメッセージを設定するコア関数です。drupal_print_message()は、I (私がGoogleで見つけた例に基づいて)信じる、実際にはdrupal_set_message()を意味するが、実際の関数ではないときに、人々が偶然に言うことがある。

注: Devel モジュールには dpm() 関数があります。これは、開発デバッグ用の変数を出力する「drupalprintmessage」の略です。

3
Scott Reynen

それらはすべて同じです。 dsm() がどのように定義されているかを確認してください(一方が他方を呼び出しています):

_function dsm($input, $name = NULL) {
  return dpm($input, $name);
}
_

したがって、dpm()は非推奨であるため、使用する必要がある主なものはdsm()です。

3
kenorb

Devel Demo はdevelモジュールによって提供されるデバッグ機能のほとんどを示す良いdrupalモジュールであり、 here は良い投稿ですこれらの機能の概要。

0
sepehr