0

興味深い質問があります。既存のアプリケーションをプロジェクトにインポートしています。

関数を含むファイルを必要とするメソッドを持つクラスがあります。これらの関数は、グローバル変数を作成します。

これらの関数はクラス メソッドから呼び出されているため、これらの関数間でグローバル変数を共有できないことに気付きました。

最初にグローバル変数を宣言してからファイルを必要とする場合、含まれている関数でそれらを利用できることを知っています。私が抱えている問題は、独自の機能を持つこれらのインクルード ファイルには、何百ものグローバル変数参照があることです。すべてのファイルを調べてグローバル変数を再宣言するには、非常に時間がかかります。

これを行うより直接的なアプローチはありますか?

例は

//class file
class run
{
    public function install()
    {
        require_once('file.php);
    }
}

//file.php
require('some/other/file.php);
function checks() {
   global $someVar;
   $somVar->test();
}

$someVar 内で宣言しない限り、これは明らかに、can't access test() to non-object something something のようなエラーをスローします。run::install()

4

1 に答える 1

0

メソッド内からではなく、グローバルレベルで(つまり、何よりも前に)Wordpressファイルのrequireを実行するだけです。あなたの例では、必要なのはchecks()関数にアクセスできることだけです。もちろん、名前の衝突がないことをクロスフィンガー...

于 2012-05-29T11:44:29.170 に答える