非 OO アプリケーションである SMF フォーラムがインストールされています。フォーラム内のディレクトリに追加のアプリケーションを作成したいと考えています。このアプリケーションには、SMF の SSI ファイルが含まれており、SMF 内の関数を使用しますが、オブジェクト指向の設定になっています。
これが不可能な場合は、ここで読むのをやめて、その理由を説明してください。なぜなら、ここで何が問題なのかを突き止めるのに苦労しているからです (24 時間近く起きていたという事実かもしれません)。
これは私が持っているものです:
SMF にはファイル SSI.php があります - これが含まれている場合、これはグローバル変数のロードを設定し、また定義を設定します
define('SMF', 'SSI');
一連のファイルを含む console というフォルダーがあります。index.php から、サーブレット ファイルを呼び出します。
require_once '../SSI.php';
class Servlet
{
public function __construct(){
}
public function processRequest(){
echo SMF;
var_dump($context) //This is the global variable that should be set
}
}
これにより、SSI が出力され、その後、未定義の変数エラーが出力されます。
これはおそらく非常に明白ですが、コンテキストがグローバルではなく、定義が設定されているのはなぜですか? クラスの外でこれを行うと、うまくいきます。
ありがとう!
-編集-
これがリンクされた質問の複製ではない理由を説明するために...これは、特定のスコープの問題と特定のエラーに関する特定の質問であり、私のアプリケーションに合わせて調整されていること以外は、多くの説明が必要だとは思いませんオブジェクト指向と手続き型プログラミングが混在しているため、混乱が生じます。
私の質問は「可変スコープとは何ですか?」ではありませんでした。
ありがとう。