我被告知无法在PHP中的类中定义一个类。然而,在我自己的例子,这似乎工作已经我困惑:关于PHP OOP的更多信息 - 类内的类
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:
再次感谢大家。
注:这是一个follow up。
一个函数是'需要在类中的另一个类......这是你的困惑的来源? – irrelephant
的确如此......但令我困惑的是,它不仅仅需要另一个类,它还需要另一个类,它使用自身的函数作为第二个类中的回调函数.....我很困惑自己:(代码在那里...... –
原来我的主要误解是,当你定义一个类或函数时,它存在于该范围内,原来它是有条件的(只有在调用容器时才定义),但我自己对OOP有了更好的理解,谢谢大家!我在这里选择Kavi Siegel作为编解码器,并在另一个问题上解释了一些很好的解释,再次感谢! –