PHPのクラス内でクラスを定義することはできないと言われています。しかし、私自身の例では、これはうまくいくようで、私は混乱しています。
class_test.php:
require('class_1.php');
new class_1
//Need $missing_variable here.
class_1.php
class class_1{
public function function_1(){
function callback_function(){
echo "A Callback";
$missing_variable = "Where Did I Go?";
}
require('class_2.php');
new class_2('callback_function');
}
public function __construct(){
$this->function_1();
}
}
class_2.php
class class_2{
public function __construct($callback){
echo "Hello World - ";
call_user_func($callback);
}
}
class_test.phpをロードすると出力されます
Hello World - A Callback
質問:必要な場所で入手できるように定義するにはどうすればよい$missing_variable
ですか?
将来誰かが同様の問題を抱えている場合、それが起こりそうにない場合でも、クラスの外部からエコーされた$missing_variableを示すコードパッドに下からリンクしたいと思います。
みなさん、ありがとうございました。
注:これはフォローアップです。