web-dev-qa-db-ja.com

プラグインの有効化、無効化、およびアンインストール操作中のグローバル変数

アクティベーションフックの場合、コーデックスはグローバルに対して明示的でなければならないと述べています。

有効化中の変数に関するメモ

しかし、それはuninstall.phpに取り組んでいないようです

私はこのように私のメインプラグインファイルでグローバルを定義すると:

global $plugin_options_name;

$plugin_options_name = 'xxxxxxxxx';

アクティベーションフックはグローバルステートメントを介してそれを使用することができますがuninstall.phpはできません。

Unistall.phpの中で変数を再宣言する必要があります

これが事実である場合、私はアンインストールフックに切り替えるとこれは変わりますか?

1
e4rthdog

あなたのメインプラグインが副作用を持っていないなら(ロードされたとき自動的にhtmlを出力するかファイル/ DBに書き込む)、あなたはファイルよりアンインストールフックを好むべきです。 IMO uninstall.phpコードが間違っていて、外部から実行されるようにファイルを開いてしまう危険性が高すぎます(すなわち、ゼロ以外)。これは、関連するすべてのコードを1か所にまとめるのにも役立ちます。

uninstall.phpが存在する場合は、プラグインコードをロードせずに実行されます(つまり、その要点です)。そのため、プラグインコードで宣言されているものはすべてuninstall.phpでは使用できません。

2
Mark Kaplun

私は自分自身のファイルに定数とグローバルを定義し、プラグインのメインファイルとuninstall.phpの両方にそれらをロードします。このようにして、私のグローバルはすべて1か所にまとめられています。それから、フックを使用した場合に起こる可能性があるように、アンインストール時に誤って副作用を実行することについて心配する必要はありません。

0
J.D.