プラグインやスニペットの配布形態について、ルール・ガイドラインなどを定めておくべきかと。
例えば、管理画面から呼ばれるPHPファイルは、定数「IN_MANAGER_MODE」で(たぶん)チェックしているし、
公開されているページから呼ばれる「manager/includes/document.parser.class.inc.php」はクラス宣言だけなので良いかと思いますが、
スニペットやプラグインは、公開されているページから呼ばれるのに、
パラメータがグローバル変数的に渡されるので、なんかソースを見るたびにドキドキしてしまいます。
スニペットやプラグインにも、「IN_MANAGER_MODE」のように、
MODxから呼ばれていることを確認する手段があれば、それだけでも安心度が全然違うと思うのですが…
ついでに言うと、スニペットやプラグインに渡すパラメータも、
extract($params, EXTR_SKIP);
なんてせずに、そのまま配列で渡してくれると、パラメータを使いまわせるのにと思ったりもします。
実際、compact()で、パラメータをまとめたりすることがあるのですが、
パラメータ名のリストが必要なので、私の場合、パラメータ管理用のクラスを作ったりしています。
(それだけのためということはありませんが、最初につくろうと思ったきっかけはそうだったような…)
追記)
パラメータは「$modx->event->params」が使えそうですね。(爆)